/*
Theme Name: Storefront Child
Theme URI: https://example.com/
Description: Storefront親テーマ用の子テーマです。細部の見た目調整はここに追記していきます。
Author: 
Template: storefront
Version: 3.3.1
Text Domain: storefront-child
*/

/* ==========================================================
   ここから下に、細部の見た目調整用CSSを追記していきます。
   セクションごとにコメントで区切ってあるので、
   該当箇所を編集・追加してください。
   ========================================================== */

/* ==========================================================
   サイトの色（Niche's Direct オレンジ）
   ここを変えると、見出しの帯・ボタン・カード・ページネーション・
   フッターなどの色がまとめて変わります。
   ========================================================== */
:root {
    --arco-main:        #f28a1c;   /* メイン（オレンジ） */
    --arco-main-dark:   #dd6f0a;   /* 濃いオレンジ（文字・マウスオーバー） */
    --arco-main-light:  #fbb53a;   /* 明るいオレンジ（グラデーションの端） */
    --arco-accent:      #ffd23f;   /* 差し色（黄） */
    --arco-tint:        #fff5ea;   /* ごく薄いオレンジ（マウスオーバーの背景） */
    --arco-border:      #f2d8bd;   /* 枠線 */
    --arco-border-soft: #f3e7da;   /* カードの枠線 */
    --arco-shadow:      242, 138, 28;  /* 影の色（R, G, B） */
    --arco-grad:        linear-gradient(120deg, #ee7f12 0%, var(--arco-main) 50%, var(--arco-main-light) 100%);
    --arco-grad-btn:    linear-gradient(120deg, #ee7f12 0%, #f8a12a 100%);
    --arco-grad-btn-hover: linear-gradient(120deg, #dd6f0a 0%, #ee7f12 100%);
}

/* ---------- ヒーロー画像セクション ---------- */
/* フロントページのカバーブロックに余白や高さを微調整したい場合はここに追記 */
.wp-block-cover.hero-section {
    min-height: 0 !important;
    aspect-ratio: 2004 / 833 !important;
}
/* 画像の中にキャッチコピーがあるので、上に重ねていた「ARCO ONLINE SHOP」の文字は非表示 */
.wp-block-cover.hero-section .wp-block-cover__inner-container {
    display: none;
}
/* 暗くする半透明の膜も不要（画像の色をそのまま見せる） */
.wp-block-cover.hero-section .wp-block-cover__background {
    opacity: 0 !important;
}
/* 下の商品カード・見出しの帯と揃えて角丸＋影 */
.wp-block-cover.hero-section {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(var(--arco-shadow), .18);
    margin-bottom: 2.5em;
}
.wp-block-cover.hero-section .wp-block-cover__image-background {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
/* ---------- Pick UP ITEM セクション ---------- */
/* 見出しの装飾例 */
.pickup-heading {
    font-size: 1.6em;
    font-weight: bold;
    margin: 40px 0 20px;
    padding-left: 10px;
    border-left: 4px solid var(--arco-main);
}

/* 商品カードの余白調整例（WooCommerceブロックの出力に対して） */
ul.products li.product {
    text-align: center;
}
ul.products li.product img {
    border-radius: 4px;
}

/* ---------- カテゴリー別セクション ---------- */
.category-heading {
    font-size: 1.6em;
    font-weight: bold;
    margin: 60px 0 20px;
    padding-left: 10px;
    border-left: 4px solid var(--arco-main);
}

/* ---------- フッター背景画像・下部の帯 ---------- */
.site-footer {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	padding-bottom:0!important;
}

/* 文字を読みやすくするための白い半透明オーバーレイ */
.site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.85);
    z-index: 0;
}

/* オーバーレイの上にコンテンツを乗せる */
.site-footer .col-full,
.site-footer .storefront-handheld-footer-bar {
    position: relative;
    z-index: 1;
}

/* 一番下の紺色の帯 */
.site-footer::after {
    content: "";
    display: block;
    position: relative;
    z-index: 1;
    height: 12px;
    background-color: var(--arco-main-dark);
    margin-top: 20px;
}

.footer-col-heading {
    color: var(--arco-main-dark);
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 12px !important;
}

.footer-link-list {
    list-style: none;
    margin: 0 !important;
    padding: 0;
}

.footer-link-list li {
    margin-bottom: 8px;
}

.footer-link-list li::before {
    content: "－ ";
    color: var(--arco-main-dark);
}

.footer-link-list a {
    color: var(--arco-main-dark);
    text-decoration: none;
}

.footer-link-list a:hover {
    text-decoration: underline;
}

.site-header .col-full {
    position: relative;
}

.header-sdgs-logo-inline {
    position: absolute;
    top: 35%;
    left: 58%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

.header-sdgs-logo-inline img {
    max-height: 45px;
    width: auto;
    display: block;
}

@media (max-width: 767px) {
    .header-sdgs-logo-inline {
        display: none;
    }
}

/* ---------- フッター ---------- */
.site-footer .widget-area {
    padding: 40px 0;
}
.footer-contact-button{
	width: 100%;
	max-width:350px;
}
.footer-contact-button a {
    display: inline-block;
	width: 100%;
    background: var(--arco-grad-btn);
    color: #fff!important;
    padding: 10px 24px;
    border-radius: 4px;
    text-decoration: none;
}
.footer-contact-button a:hover {
    background: var(--arco-grad-btn-hover);
}
.wp-block-paragraph{
	font-size:15px;
}

/* フッター会社ロゴ */
.footer-company-logo {
    margin-bottom: 15px !important;
}
.footer-company-logo img {
    max-width: 240px;
    height: auto;
    display: block;
}

/* フッターウィジェット内のブロック同士の余白を詰める */
.site-footer .widget-area .widget {
    margin-bottom: 0 !important;
}
.site-footer .widget-area .wp-block-heading,
.site-footer .widget-area .wp-block-list {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* フッターコピーライトの余白調整 */
.site-footer .site-info {
    padding: 15px 0 !important;
    margin: 0 !important;
}

/* フッターカラムの幅を調整（カラム1=左半分、カラム2・3=右半分） */
.footer-widgets{
	padding-top:2em!important;
}
.footer-widgets .footer-widget-1,
.footer-widgets .footer-widget-2,
.footer-widgets .footer-widget-3 {
    box-sizing: border-box !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.footer-widgets .footer-widget-1 {
    width: 50% !important;
}
.footer-widgets .footer-widget-2,
.footer-widgets .footer-widget-3 {
    width: 25% !important;
}

/* ノートPCの狭いウィンドウやタブレット幅では1カラムに戻す */
@media (max-width: 900px) {
    .footer-widgets .footer-widget-1,
    .footer-widgets .footer-widget-2,
    .footer-widgets .footer-widget-3 {
        width: 100% !important;
        float: none !important;
        text-align: center;
    }

    /* ロゴ・お問い合わせボタンを中央寄せ */
    .footer-company-logo,
    .footer-company-logo img {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .footer-contact-button {
        margin: 0 auto !important;
    }

    /* リンクリストも中央寄せ（ダッシュ付きのまま中央に配置） */
    .footer-link-list {
        display: inline-block;
        text-align: left;
    }
}
/* 商品タイトルの文字サイズを調整 */
.wc-block-product-template .wp-block-post-title,
.wc-block-product-template .wp-block-post-title a {
    font-size: 1rem !important;
	font-weight: 400;
}
/* 下線を表示しない（サイト全体） */
a {
    text-decoration: none !important;
}

/* 訪問済みリンクでも色を変えない（各リンク本来の色のまま） */
a:visited {
    color: inherit;
}
.home.page-template-template-fullwidth .hentry .entry-content h2+.woocommerce, .home.page-template-template-fullwidth .hentry .entry-content h2+[class*=wp-block-woocommerce-]{
	margin-top:0;
}
/* 商品カードをflexboxにして、価格・ボタンを下端に揃える */
.wc-block-product-template .wc-block-product {
    display: flex !important;
    flex-direction: column;
}

/* 価格を上方向の余白で押し下げ、ボタンを最下部に固定 */
.wc-block-product-template .wc-block-product .wp-block-woocommerce-product-price {
    margin-top: auto !important;
}
/* カテゴリーページ・ショップページの商品カードも下端を揃える */
ul.products li.product {
    display: flex !important;
    flex-direction: column;
}

/* 商品リンク部分（画像・タイトル・価格）を伸ばして、ボタンを最下部へ */
ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column;
    flex-grow: 1;
}

/* 価格を下端に押し下げる */
ul.products li.product .price {
    margin-top: auto !important;
}
/* 同じ行の商品カードの高さを揃える */
ul.products {
    display: flex !important;
    flex-wrap: wrap;
}
/* 商品グリッドを常に4列固定にする（商品数が少なくても引き伸ばさない） */
.wc-block-product-template {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5em;
}
.wc-block-product-template > li {
    width: auto !important;
    margin: 0 !important;
}

/* スマホ・タブレット幅では列数を減らす */
@media (max-width: 782px) {
    .wc-block-product-template {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .wc-block-product-template {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}
/* ---------- 一覧・お買い物カゴの見出し（帯型）：商品カテゴリー／タグ／ブランド／商品一覧／お買い物カゴ ---------- */
/* パンくずと帯の間の余白を詰める（Storefront標準は大きめ） */
.tax-product_cat .storefront-breadcrumb,
.tax-product_tag .storefront-breadcrumb,
.tax-product_brand .storefront-breadcrumb,
.woocommerce-shop .storefront-breadcrumb,
.woocommerce-cart .storefront-breadcrumb,
.woocommerce-checkout .storefront-breadcrumb {
    margin-bottom: 1.2em !important;
    padding-bottom: 0 !important;
}
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_brand .woocommerce-breadcrumb,
.woocommerce-shop .woocommerce-breadcrumb,
.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb {
    margin-bottom: 0 !important;
}
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.tax-product_brand .woocommerce-products-header,
.woocommerce-shop .woocommerce-products-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
    position: relative;
    overflow: hidden;
    background: var(--arco-grad);
    border: 0 !important;
    border-radius: 10px;
    padding: 2em 1.5em 1.8em !important;   /* Storefront標準の下余白（約96px）を打ち消す */
    margin: 0 0 2em !important;
    text-align: center;
    color: #fff;
    box-shadow: 0 6px 18px rgba(var(--arco-shadow), .20);
}
/* 右上・左下のうっすらした円の飾り */
.tax-product_cat .woocommerce-products-header::before,
.tax-product_tag .woocommerce-products-header::before,
.tax-product_brand .woocommerce-products-header::before,
.woocommerce-shop .woocommerce-products-header::before,
.woocommerce-cart .entry-header::before,
.woocommerce-checkout .entry-header::before,
.tax-product_cat .woocommerce-products-header::after,
.tax-product_tag .woocommerce-products-header::after,
.tax-product_brand .woocommerce-products-header::after,
.woocommerce-shop .woocommerce-products-header::after,
.woocommerce-cart .entry-header::after,
.woocommerce-checkout .entry-header::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.tax-product_cat .woocommerce-products-header::before,
.tax-product_tag .woocommerce-products-header::before,
.tax-product_brand .woocommerce-products-header::before,
.woocommerce-shop .woocommerce-products-header::before,
.woocommerce-cart .entry-header::before,
.woocommerce-checkout .entry-header::before {
    width: 220px;
    height: 220px;
    right: -60px;
    top: -90px;
    background: rgba(255, 210, 63, .45);
}
.tax-product_cat .woocommerce-products-header::after,
.tax-product_tag .woocommerce-products-header::after,
.tax-product_brand .woocommerce-products-header::after,
.woocommerce-shop .woocommerce-products-header::after,
.woocommerce-cart .entry-header::after,
.woocommerce-checkout .entry-header::after {
    width: 160px;
    height: 160px;
    left: -50px;
    bottom: -90px;
    background: rgba(255, 255, 255, .14);
}
.tax-product_cat .woocommerce-products-header > *,
.tax-product_tag .woocommerce-products-header > *,
.tax-product_brand .woocommerce-products-header > *,
.woocommerce-shop .woocommerce-products-header > *,
.woocommerce-cart .entry-header > *,
.woocommerce-checkout .entry-header > * {
    position: relative;
    z-index: 1;
}
/* 見出し上の小さな英字ラベル */
.tax-product_cat .woocommerce-products-header__title::before,
.tax-product_tag .woocommerce-products-header__title::before,
.tax-product_brand .woocommerce-products-header__title::before,
.woocommerce-shop .woocommerce-products-header__title::before,
.woocommerce-cart .entry-header .entry-title::before,
.woocommerce-checkout .entry-header .entry-title::before {
    display: block;
    margin-bottom: .5em;
    font-size: .38em;
    font-weight: 600;
    letter-spacing: .3em;
    color: #fff3c4;
}
.tax-product_cat .woocommerce-products-header__title::before { content: "CATEGORY"; }
.tax-product_tag .woocommerce-products-header__title::before { content: "TAG"; }
.tax-product_brand .woocommerce-products-header__title::before { content: "BRAND"; }
.woocommerce-shop .woocommerce-products-header__title::before { content: "PRODUCTS"; }
.woocommerce-cart .entry-header .entry-title::before { content: "CART"; }
.woocommerce-checkout .entry-header .entry-title::before { content: "CHECKOUT"; }
.woocommerce-order-received .entry-header .entry-title::before { content: "THANK YOU"; }
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title,
.tax-product_brand .woocommerce-products-header__title,
.woocommerce-shop .woocommerce-products-header__title,
.woocommerce-cart .entry-header .entry-title,
.woocommerce-checkout .entry-header .entry-title {
    color: #fff !important;
    font-size: 1.8em !important;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.35;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce-products-header .term-description {
    max-width: 40em;
    margin: .9em auto 0;
    color: rgba(255, 255, 255, .88);
    font-size: .95em;
    line-height: 1.8;
}
.woocommerce-products-header .term-description p {
    margin: 0;
}
.woocommerce-products-header .arco-term-count {
    display: inline-block;
    margin: .9em 0 0 !important;
    padding: .2em 1.1em;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    font-size: .8em;
    letter-spacing: .05em;
}
@media (max-width: 768px) {
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.tax-product_brand .woocommerce-products-header,
.woocommerce-shop .woocommerce-products-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
        padding: 1.6em 1em 1.4em !important;
    }
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title,
.tax-product_brand .woocommerce-products-header__title,
.woocommerce-shop .woocommerce-products-header__title,
.woocommerce-cart .entry-header .entry-title,
.woocommerce-checkout .entry-header .entry-title {
        font-size: 1.4em !important;
    }
}
/* 件数は帯の中に出しているので、一覧上下の「全◯件を表示」は非表示 */
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count,
.tax-product_brand .woocommerce-result-count,
.woocommerce-shop .woocommerce-result-count {
    display: none;
}

/* ---------- 商品カード（トップの商品ブロック／商品一覧・カテゴリー一覧 共通） ---------- */
.wc-block-product-template .wc-block-product,
ul.products li.product {
    background: #fff;
    border: 1px solid var(--arco-border-soft);
    border-radius: 10px;
    padding: 12px 12px 16px !important;
    box-sizing: border-box;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.wc-block-product-template .wc-block-product:hover,
ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: var(--arco-border);
    box-shadow: 0 10px 24px rgba(var(--arco-shadow), .16);
}
/* 画像：角丸＋マウスオーバーで少しズーム */
.wc-block-product-template .wc-block-components-product-image,
ul.products li.product .woocommerce-loop-product__link img {
    border-radius: 6px;
    overflow: hidden;
}
.wc-block-product-template .wc-block-components-product-image img,
ul.products li.product img {
    border-radius: 6px;
    transition: transform .35s ease;
}
.wc-block-product-template .wc-block-product:hover .wc-block-components-product-image img,
ul.products li.product:hover img {
    transform: scale(1.04);
}
ul.products li.product .woocommerce-loop-product__link {
    overflow: hidden;
}

/* 商品名：クリック済みでも色を変えない／マウスオーバーで青 */
.wc-block-product-template .wp-block-post-title a,
.wc-block-product-template .wp-block-post-title a:link,
.wc-block-product-template .wp-block-post-title a:visited,
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product a,
ul.products li.product a:visited {
    color: #333 !important;
}
.wc-block-product-template .wc-block-product:hover .wp-block-post-title a,
ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--arco-main-dark) !important;
}

/* お買い物カゴに追加ボタン（一覧・商品ページ） */
.wc-block-product-template .wp-block-button,
.wc-block-product-template .wp-block-woocommerce-product-button,
ul.products li.product .button {
    width: 100% !important;
    max-width: none !important;
    align-self: stretch;
}
.wc-block-product-template .wp-block-woocommerce-product-button {
    display: block !important;
}
.wc-block-product-template .add_to_cart_button,
.wc-block-product-template .wc-block-components-product-button__button,
ul.products li.product .button,
.single-product .single_add_to_cart_button {
    display: block;
    width: 100% !important;
    max-width: none !important;
    background: var(--arco-grad-btn) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: .75em 1.2em !important;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 3px 8px rgba(var(--arco-shadow), .25);
    transition: background .25s ease, box-shadow .25s ease, transform .15s ease;
    box-sizing: border-box;
    text-align: center;
}
.single-product .single_add_to_cart_button {
    width: auto !important;
    min-width: 14em;
}
.wc-block-product-template .wc-block-product:hover .add_to_cart_button,
ul.products li.product:hover .button,
.wc-block-product-template .add_to_cart_button:hover,
ul.products li.product .button:hover,
.single-product .single_add_to_cart_button:hover {
    background: var(--arco-grad-btn-hover) !important;
    box-shadow: 0 5px 14px rgba(var(--arco-shadow), .35);
}
.wc-block-product-template .add_to_cart_button:active,
ul.products li.product .button:active,
.single-product .single_add_to_cart_button:active {
    transform: translateY(1px);
}
/* カートに入れた後の「お買い物カゴを表示」リンク */
.wc-block-product-template .added_to_cart,
ul.products li.product .added_to_cart {
    display: block;
    margin-top: .5em;
    padding: .2em 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: .85em;
    font-weight: 600;
    color: var(--arco-main-dark) !important;
    text-align: center;
    text-decoration: underline !important;
}

/* スマホなどマウスのない端末では浮き上がりを付けない */
@media (hover: none) {
    .wc-block-product-template .wc-block-product:hover,
    ul.products li.product:hover {
        transform: none;
        box-shadow: none;
    }
}

/* ---------- 商品カード全体をクリックで商品ページへ（ボタンはそのまま押せる） ---------- */
.wc-block-product-template .wc-block-product,
ul.products li.product {
    position: relative;
    cursor: pointer;
}
/* 商品名のリンクをカード全体に広げる */
.wc-block-product-template .wp-block-post-title a::after,
ul.products li.product .woocommerce-loop-product__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 10px;
}
/* ボタン・「お買い物カゴを表示」リンクは前面に出して、そのままカートに入れられるように */
.wc-block-product-template .wp-block-woocommerce-product-button,
.wc-block-product-template .wp-block-button,
ul.products li.product .button,
ul.products li.product .added_to_cart {
    position: relative;
    z-index: 2;
}

/* ---------- カゴに追加した後の表示（functions.php の arco_added_to_cart_feedback と連動） ---------- */
.add_to_cart_button,
.single_add_to_cart_button,
.wc-block-components-product-button__button {
    position: relative;
}
/* 押したボタン：数秒間、緑で「✓ カゴに追加しました」 */
.add_to_cart_button.arco-added,
.single_add_to_cart_button.arco-added,
.wc-block-components-product-button__button.arco-added,
ul.products li.product .button.arco-added,
ul.products li.product:hover .button.arco-added,
ul.products li.product a.button.arco-added:visited,
.wc-block-product-template .wc-block-product .add_to_cart_button.arco-added,
.wc-block-product-template .wc-block-product:hover .add_to_cart_button.arco-added,
.single-product .single_add_to_cart_button.arco-added:hover {
    background: linear-gradient(120deg, #3f9a4b 0%, #5cb85f 100%) !important;
    color: transparent !important;
    box-shadow: 0 3px 10px rgba(63, 154, 75, .35) !important;
}
/* 読み込み中の標準マーク（くるくる）と重ならないように */
.add_to_cart_button.arco-added.loading::after {
    animation: arco-pop .35s ease !important;
}
.add_to_cart_button.arco-added *,
.wc-block-components-product-button__button.arco-added * {
    visibility: hidden;
}
.add_to_cart_button.arco-added::after,
.single_add_to_cart_button.arco-added::after,
.wc-block-components-product-button__button.arco-added::after {
    content: "✓ カゴに追加しました";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 1em;
    font-weight: 700;
    visibility: visible;
    animation: arco-pop .35s ease;
    margin: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
}
/* WooCommerce標準の読み込み中・完了マーク（✓）は重なるので非表示 */
.add_to_cart_button.arco-added.added::after {
    margin: 0 !important;
    font-family: inherit !important;
}
@keyframes arco-pop {
    0%   { transform: scale(.85); opacity: 0; }
    100% { transform: scale(1);   opacity: 1; }
}
/* ヘッダー右上のカゴ：一瞬強調 */
.arco-cart-pulse {
    animation: arco-cart-pulse 1.5s ease;
    border-radius: 6px;
}
@keyframes arco-cart-pulse {
    0%   { background-color: rgba(92, 184, 95, 0);   transform: scale(1); }
    15%  { background-color: rgba(92, 184, 95, .25);  transform: scale(1.12); }
    35%  { transform: scale(1); }
    100% { background-color: rgba(92, 184, 95, 0);   transform: scale(1); }
}

/* ---------- ヘッダー固定表示（パソコン幅）：functions.php のスクロール判定と連動 ---------- */
/* スマホ幅は Storefront 標準の画面下のバー（カゴ・検索）が常に出ているので対象外 */
@media (min-width: 768px) {
    /* Storefront の overflow-x:hidden があると固定（sticky）が効かないため clip に置き換え（はみ出し防止の効果は同じ） */
    body,
    #page {
        overflow-x: clip !important;
        overflow-y: visible !important;
    }
    #masthead.site-header {
        position: sticky;
        top: 0;
        z-index: 1000;
        background-color: #fff;
        transition: box-shadow .25s ease;
    }
    /* ログイン中は管理バーの下に */
    body.admin-bar #masthead.site-header {
        top: 32px;
    }
    /* スクロール後：ロゴ・検索の段をたたんで、メニュー＋カゴの帯だけに */
    body.arco-header-compact #masthead.site-header {
        padding-top: 0 !important;
        box-shadow: 0 4px 14px rgba(var(--arco-shadow), .14);
    }
    body.arco-header-compact #masthead > .col-full {
        display: none;
    }
    body.arco-header-compact #masthead .storefront-primary-navigation {
        border-top: 3px solid var(--arco-main);
    }
}
/* ブロック版ボタン：カゴ追加後の文字切り替え（スライドアニメーション）で高さが伸びたままになるのを防ぐ */
.wc-block-product-template .wc-block-components-product-button__button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: auto !important;
    min-height: 44px;
    line-height: 1.4 !important;
    white-space: nowrap;
    overflow: hidden;
}
.wc-block-product-template .wc-block-components-product-button__button > span {
    display: block;
    line-height: 1.4;
}

/* ---------- ページネーション（トップの商品ブロック／商品一覧・カテゴリー一覧 共通） ---------- */
.wp-block-query-pagination,
nav.woocommerce-pagination {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5em;
    margin: 2em 0 1em !important;
    padding: 0 !important;
    border: 0 !important;
    text-align: center;
}
nav.woocommerce-pagination ul.page-numbers {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5em;
    margin: 0 !important;
    border: 0 !important;
}
nav.woocommerce-pagination ul.page-numbers li {
    border: 0 !important;
    margin: 0 !important;
    background: none !important;
}
.wp-block-query-pagination-numbers {
    display: flex;
    gap: .5em;
    margin: 0 !important;
}
/* 番号（丸） */
.wp-block-query-pagination .page-numbers,
nav.woocommerce-pagination .page-numbers li .page-numbers {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 2.6em;
    height: 2.6em;
    padding: 0 .6em !important;
    border-radius: 999px;
    background: #fff !important;
    border: 1px solid var(--arco-border) !important;
    color: var(--arco-main-dark) !important;
    font-weight: 700;
    font-size: .95em;
    line-height: 1;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
.wp-block-query-pagination a.page-numbers:hover,
nav.woocommerce-pagination .page-numbers li a.page-numbers:hover {
    background: var(--arco-tint) !important;
    border-color: var(--arco-border) !important;
    transform: translateY(-1px);
}
/* 現在のページ */
.wp-block-query-pagination .page-numbers.current,
nav.woocommerce-pagination .page-numbers li .page-numbers.current {
    background: var(--arco-grad-btn) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 3px 8px rgba(var(--arco-shadow), .25);
}
.wp-block-query-pagination .page-numbers.dots,
nav.woocommerce-pagination .page-numbers li .page-numbers.dots {
    border: 0 !important;
    background: none !important;
    min-width: 1.5em;
}
/* 前のページ／次のページ（角丸ボタン） */
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    display: inline-flex !important;
    align-items: center;
    height: 2.6em;
    padding: 0 1.2em !important;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--arco-border);
    color: var(--arco-main-dark) !important;
    font-weight: 700;
    font-size: .95em;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.wp-block-query-pagination-next::after {
    content: "›";
    margin-left: .5em;
    font-size: 1.3em;
    line-height: 1;
}
.wp-block-query-pagination-previous::before {
    content: "‹";
    margin-right: .5em;
    font-size: 1.3em;
    line-height: 1;
}
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
    background: var(--arco-tint);
    border-color: var(--arco-border);
    transform: translateY(-1px);
}
.wp-block-query-pagination-previous:visited,
.wp-block-query-pagination-next:visited,
.wp-block-query-pagination a.page-numbers:visited {
    color: var(--arco-main-dark) !important;
}
/* 従来版（一覧ページ）の「→」「←」 */
nav.woocommerce-pagination .page-numbers li .next,
nav.woocommerce-pagination .page-numbers li .prev {
    font-size: 1.1em;
}

/* ---------- トップページのヒーロー（functions.php の arco_render_hero と連動） ---------- */
.arco-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 2em;
    min-height: 340px;
    margin: 0 0 2.5em;
    padding: 2.5em 3em;
    border-radius: 14px;
    background: var(--arco-grad);
    color: #fff;
    box-shadow: 0 10px 28px rgba(var(--arco-shadow), .22);
    box-sizing: border-box;
}
/* 飾りの円（見出しの帯と同じ） */
.arco-hero::before,
.arco-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.arco-hero::before {
    width: 420px;
    height: 420px;
    right: -120px;
    top: -170px;
    background: rgba(255, 210, 63, .40);
}
.arco-hero::after {
    width: 260px;
    height: 260px;
    left: -90px;
    bottom: -150px;
    background: rgba(255, 255, 255, .14);
}
.arco-hero > * {
    position: relative;
    z-index: 1;
}
.arco-hero__text {
    flex: 1 1 50%;
    min-width: 0;
}
.arco-hero__label {
    margin: 0 0 .6em !important;
    font-size: .8em;
    font-weight: 700;
    letter-spacing: .3em;
    color: #fff3c4;
}
.arco-hero__title {
    margin: 0 0 .5em !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 2.6em !important;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .04em;
    text-shadow: 0 2px 10px rgba(180, 80, 0, .25);
}
.arco-hero__lead {
    margin: 0 0 1.6em !important;
    font-size: 1.05em;
    color: rgba(255, 255, 255, .95);
}
.arco-hero__btn,
.arco-hero__btn:visited {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    padding: .85em 2em;
    border-radius: 999px;
    background: #fff;
    color: var(--arco-main-dark) !important;
    font-weight: 800;
    letter-spacing: .05em;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(160, 70, 0, .25);
    transition: transform .2s ease, box-shadow .2s ease;
}
.arco-hero__btn span {
    font-size: 1.4em;
    line-height: 1;
}
.arco-hero__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(160, 70, 0, .30);
}
/* 右側：商品写真を少し傾けて重ねる */
.arco-hero__items {
    flex: 1 1 45%;
    position: relative;
    height: 280px;
    min-width: 0;
}
.arco-hero__item {
    position: absolute;
    display: block;
    width: 44%;
    max-width: 210px;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    border: 5px solid #fff;
    box-shadow: 0 10px 24px rgba(120, 50, 0, .25);
    transition: transform .3s ease;
}
.arco-hero__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}
.arco-hero__item--1 { left: 4%;  top: 18%; transform: rotate(-6deg); z-index: 1; }
.arco-hero__item--2 { left: 30%; top: 0;   transform: rotate(3deg);  z-index: 3; }
.arco-hero__item--3 { left: 54%; top: 24%; transform: rotate(8deg);  z-index: 2; }
.arco-hero__items--1 .arco-hero__item--1 { left: 28%; top: 6%; transform: rotate(-3deg); width: 52%; }
.arco-hero__items--2 .arco-hero__item--1 { left: 12%; }
.arco-hero__items--2 .arco-hero__item--2 { left: 44%; top: 12%; }
.arco-hero__item:hover {
    transform: rotate(0) scale(1.05);
    z-index: 5;
}
@media (max-width: 900px) {
    .arco-hero {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        padding: 2em 1.2em 1.6em;
        min-height: 0;
    }
    .arco-hero__title {
        font-size: 1.9em !important;
    }
    /* スマホ：商品写真は傾けずに横一列 */
    .arco-hero__items {
        display: flex;
        justify-content: center;
        gap: .6em;
        height: auto;
        width: 100%;
        margin: 1.4em auto 0;
    }
    .arco-hero__item,
    .arco-hero__items--1 .arco-hero__item--1,
    .arco-hero__items--2 .arco-hero__item--1,
    .arco-hero__items--2 .arco-hero__item--2 {
        position: relative;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        width: 30%;
        max-width: 110px;
        border-width: 3px;
    }
}

/* ---------- フッター（サイトの色に合わせて刷新：上の「フッター背景画像・下部の帯」を上書き） ---------- */
.site-footer {
    background: var(--arco-tint) !important;
    background-image: none !important;
    color: #555;
    overflow: hidden;
}
/* 上端にヒーロー・見出しの帯と同じグラデーションの線（写真の上に重ねていた白い膜は不要） */
.site-footer::before {
    height: 5px !important;
    bottom: auto !important;
    background: var(--arco-grad) !important;
    z-index: 1 !important;
}
/* 右上にうっすら円の飾り */
.site-footer .col-full::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -140px;
    top: -200px;
    border-radius: 50%;
    background: rgba(255, 210, 63, .18);
    pointer-events: none;
    z-index: -1;
}
/* 一番下の帯：グラデーションに */
.site-footer::after {
    height: 10px !important;
    background: var(--arco-grad) !important;
    margin-top: 0 !important;
}
.site-footer .widget-area {
    padding: 3em 0 2em !important;
}
/* 見出し：下に短いオレンジの線 */
.footer-col-heading {
    position: relative;
    color: #333 !important;
    font-size: 1.05em !important;
    padding-bottom: .55em;
    margin-bottom: 1em !important;
}
.footer-col-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 3px;
    border-radius: 2px;
    background: var(--arco-main);
}
/* リンク */
.footer-link-list li {
    margin-bottom: .7em !important;
}
.footer-link-list li::before {
    content: "›" !important;
    color: var(--arco-main) !important;
    font-weight: 700;
    margin-right: .5em;
}
.footer-link-list a,
.footer-link-list a:visited {
    color: #555 !important;
    transition: color .2s ease;
}
.footer-link-list a:hover {
    color: var(--arco-main-dark) !important;
    text-decoration: none !important;
}
/* 会社情報 */
.site-footer .footer-widget-1 .wp-block-paragraph {
    color: #666;
    font-size: 13px;
    line-height: 1.9;
}
/* お問い合わせボタン：角丸のボタンに */
.footer-contact-button {
    max-width: 260px !important;
}
.footer-contact-button a,
.footer-contact-button a:visited {
    border-radius: 999px !important;
    padding: .8em 1.5em !important;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 4px 12px rgba(var(--arco-shadow), .28);
    transition: background .25s ease, box-shadow .25s ease, transform .15s ease;
}
.footer-contact-button a:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(var(--arco-shadow), .35);
}
/* コピーライト：区切り線の下に小さく中央寄せ */
.site-footer .site-info {
    border-top: 1px solid var(--arco-border);
    text-align: center;
    color: #888 !important;
    font-size: 12px;
    letter-spacing: .05em;
}
@media (max-width: 900px) {
    .footer-col-heading::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .site-footer .widget-area .widget {
        margin-bottom: 1.5em !important;
    }
}
/* フッターの余白を詰める（Storefront標準のウィジェット下余白 約59px を縮める） */
.site-footer {
    padding-top: 0 !important;
}
.site-footer .footer-widgets {
    padding: 2.4em 0 1.6em !important;
}
.site-footer .footer-widgets .widget {
    margin-bottom: 1em !important;
}
.site-footer .footer-widgets .widget:last-child {
    margin-bottom: 0 !important;
}
.site-footer .footer-widgets .footer-col-heading {
    margin-bottom: .2em !important;
}
.site-footer .footer-company-logo {
    margin-bottom: .6em !important;
}
.site-footer .footer-widget-1 .wp-block-paragraph {
    margin-bottom: 0 !important;
}
.site-footer .site-info {
    padding: 1em 0 !important;
}
@media (max-width: 900px) {
    .site-footer .footer-widgets .block {
        margin-bottom: 1.6em !important;
    }
    .site-footer .footer-widgets .block:last-child {
        margin-bottom: 0 !important;
    }
    .site-footer .widget-area .widget,
    .site-footer .footer-widgets .widget {
        margin-bottom: .8em !important;
    }
}
/* トップページ：ヘッダーとヒーローの間を詰める（Storefront標準は約68px） */
.home #masthead.site-header {
    margin-bottom: 1.4em !important;
}
/* ヒーローの内側の余白（alignwide の標準指定に負けないように） */
.arco-hero.alignwide {
    padding: 2.5em 3em !important;
}
@media (max-width: 900px) {
    .arco-hero.alignwide {
        padding: 2em 1.2em 1.6em !important;
    }
}

/* ---------- 案内ページ（このショップについて／プライバシーポリシー／特定商取引法に基づく表記） ---------- */
/* パンくずと帯の間を詰める */
.arco-info-page .storefront-breadcrumb {
    margin-bottom: 1.2em !important;
    padding-bottom: 0 !important;
}
.arco-info-page .woocommerce-breadcrumb {
    margin-bottom: 0 !important;
}
/* ページ名：一覧ページと同じ帯 */
.arco-info-page .entry-header {
    position: relative;
    overflow: hidden;
    background: var(--arco-grad);
    border: 0 !important;
    border-radius: 10px;
    padding: 2em 1.5em 1.8em !important;
    margin: 0 0 2em !important;
    text-align: center;
    color: #fff;
    box-shadow: 0 6px 18px rgba(var(--arco-shadow), .20);
}
.arco-info-page .entry-header::before,
.arco-info-page .entry-header::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.arco-info-page .entry-header::before {
    width: 220px;
    height: 220px;
    right: -60px;
    top: -90px;
    background: rgba(255, 210, 63, .45);
}
.arco-info-page .entry-header::after {
    width: 160px;
    height: 160px;
    left: -50px;
    bottom: -90px;
    background: rgba(255, 255, 255, .14);
}
.arco-info-page .entry-header > * {
    position: relative;
    z-index: 1;
}
.arco-info-page .entry-title {
    color: #fff !important;
    font-size: 1.8em !important;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.35;
    margin: 0 !important;
    padding: 0 !important;
}
.arco-info-page .entry-title::before {
    display: block;
    margin-bottom: .5em;
    font-size: .38em;
    font-weight: 600;
    letter-spacing: .3em;
    color: #fff3c4;
}
.arco-info-about .entry-title::before   { content: "ABOUT"; }
.arco-info-privacy .entry-title::before { content: "PRIVACY POLICY"; }
.arco-info-law .entry-title::before     { content: "LEGAL NOTICE"; }

/* 本文：白いカードに入れて読みやすい幅に */
.arco-info-page .entry-content {
    max-width: 860px;
    margin: 0 auto 1em;
    padding: 2.4em 2.8em;
    background: #fff;
    border: 1px solid var(--arco-border-soft);
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(var(--arco-shadow), .08);
    color: #444;
    line-height: 1.95;
    box-sizing: border-box;
}
.arco-info-page .entry-content p {
    font-size: 15px;
}
.arco-info-page .entry-content a {
    color: var(--arco-main-dark) !important;
    text-decoration: underline !important;
}

/* このショップについて：メッセージを中央に大きめに */
.arco-info-about .entry-content {
    text-align: center;
    padding: 3em 2em;
}
.arco-info-about .entry-content > p:first-child {
    font-size: 1.35em;
    font-weight: 700;
    color: #333;
    line-height: 1.8;
    margin-bottom: 1.2em;
}
.arco-info-about .entry-content > p:first-child::after {
    content: "";
    display: block;
    width: 40px;
    height: 3px;
    margin: 1em auto 0;
    border-radius: 2px;
    background: var(--arco-main);
}

/* 特定商取引法に基づく表記：見出し（項目名）と内容を表のように左右に並べる */
.arco-info-law .entry-content {
    display: grid;
    grid-template-columns: 13em 1fr;
    column-gap: 0;
    padding: 1em 2em;
}
.arco-info-law .entry-content > h3 {
    grid-column: 1;
    margin: 0 !important;
    padding: 1em 1em 1em .9em;
    font-size: 14px;
    font-weight: 700;
    color: #333;
    background: var(--arco-tint);
    border-top: 1px solid var(--arco-border-soft);
    border-left: 3px solid var(--arco-main);
}
.arco-info-law .entry-content > p {
    grid-column: 2;
    margin: 0 !important;
    padding: .2em 1.2em;
    font-size: 14px;
}
.arco-info-law .entry-content > h3 + p {
    padding-top: 1em;
    border-top: 1px solid var(--arco-border-soft);
}
.arco-info-law .entry-content > p:has(+ h3),
.arco-info-law .entry-content > p:last-child {
    padding-bottom: 1em;
}
.arco-info-law .entry-content > h3:first-child,
.arco-info-law .entry-content > h3:first-child + p {
    border-top: 0;
}

/* プライバシーポリシー：箇条書きを薄いオレンジの枠に */
.arco-info-privacy .entry-content ul {
    margin: .6em 0 1.6em !important;
    padding: 1em 1.4em 1em 1.6em;
    list-style: none;
    background: var(--arco-tint);
    border-radius: 8px;
    border-left: 3px solid var(--arco-main);
}
.arco-info-privacy .entry-content ul li {
    font-size: 14px;
    margin: .3em 0;
}

@media (max-width: 768px) {
    .arco-info-page .entry-header {
        padding: 1.6em 1em 1.4em !important;
    }
    .arco-info-page .entry-title {
        font-size: 1.4em !important;
    }
    .arco-info-page .entry-content {
        padding: 1.6em 1.2em;
    }
    /* スマホは縦に並べる */
    .arco-info-law .entry-content {
        display: block;
        padding: 0;
        overflow: hidden;
    }
    .arco-info-law .entry-content > h3 {
        border-left: 0;
        border-top: 1px solid var(--arco-border-soft);
        padding: .8em 1.2em;
    }
    .arco-info-law .entry-content > h3:first-child {
        border-top: 0;
    }
    .arco-info-law .entry-content > p,
    .arco-info-law .entry-content > h3 + p {
        border-top: 0;
        padding: .2em 1.2em;
    }
    .arco-info-law .entry-content > h3 + p {
        padding-top: .8em;
    }
}
/* プライバシーポリシー：各項目の見出し */
.arco-info-privacy .entry-content h2 {
    margin: 2em 0 .7em !important;
    padding: .2em 0 .2em .8em;
    border-left: 4px solid var(--arco-main);
    font-size: 1.1em !important;
    font-weight: 700;
    color: #333;
    line-height: 1.5;
}
.arco-info-privacy .entry-content h2:first-of-type {
    margin-top: 1.4em !important;
}
.arco-info-privacy .entry-content > p:first-child {
    padding: 1em 1.2em;
    background: var(--arco-tint);
    border-radius: 8px;
}

/* ---------- お買い物カゴが空のとき（functions.php の arco_empty_cart_block と連動） ---------- */
.wp-block-woocommerce-empty-cart-block {
    max-width: 1064px;
    margin: 0 auto;
}
/* メッセージ部分：白いカード */
.wc-block-cart__empty-cart__title.with-empty-cart-icon {
    max-width: 640px;
    margin: 0 auto !important;
    padding: 2.4em 1.5em .6em;
    background: #fff;
    border: 1px solid var(--arco-border-soft);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    font-size: 1.25em !important;
    font-weight: 700;
    color: #333;
    box-shadow: 0 -2px 0 rgba(0, 0, 0, 0);
}
/* 悲しい顔のアイコン → オレンジの丸にカゴのアイコン */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    width: 84px !important;
    height: 84px !important;
    margin: 0 auto 1em !important;
    border-radius: 50%;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background-color: var(--arco-tint) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f28a1c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.6-6.8H6.1'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 46px 46px !important;
    border: 2px solid var(--arco-border);
}
.arco-empty-cart-guide {
    max-width: 640px;
    margin: 0 auto 3em;
    padding: 0 1.5em 2.4em;
    background: #fff;
    border: 1px solid var(--arco-border-soft);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 6px 18px rgba(var(--arco-shadow), .10);
    text-align: center;
    box-sizing: border-box;
}
.arco-empty-cart-guide p {
    margin: 0 0 1.4em;
    color: #666;
    font-size: 14px;
}
.arco-empty-cart-btn,
.arco-empty-cart-btn:visited {
    display: inline-flex;
    align-items: center;
    gap: .6em;
    padding: .8em 2.2em;
    border-radius: 999px;
    background: var(--arco-grad-btn);
    color: #fff !important;
    font-weight: 700;
    letter-spacing: .05em;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(var(--arco-shadow), .28);
    transition: background .25s ease, box-shadow .25s ease, transform .15s ease;
}
.arco-empty-cart-btn span {
    font-size: 1.3em;
    line-height: 1;
}
.arco-empty-cart-btn:hover {
    background: var(--arco-grad-btn-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(var(--arco-shadow), .35);
}
/* 点線の区切りは不要 */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
    display: none;
}
/* 「新登場」の見出し：中央＋短いオレンジの線 */
.wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.wc-block-cart__empty-cart__title) {
    position: relative;
    margin: 0 0 1.2em !important;
    padding-bottom: .5em;
    font-size: 1.3em !important;
    font-weight: 700;
    color: #333;
}
.wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.wc-block-cart__empty-cart__title)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 32px;
    height: 3px;
    border-radius: 2px;
    transform: translateX(-50%);
    background: var(--arco-main);
}
/* 商品カード（ほかの一覧と同じデザイン） */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5em;
    margin: 0 !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    position: relative;
    display: flex !important;
    flex-direction: column;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 12px 16px !important;
    background: #fff;
    border: 1px solid var(--arco-border-soft) !important;
    border-radius: 10px;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
    transform: translateY(-4px);
    border-color: var(--arco-border) !important;
    box-shadow: 0 10px 24px rgba(var(--arco-shadow), .16);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: .6em !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    border-radius: 6px;
    transition: transform .35s ease;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.04);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link:visited {
    color: #333 !important;
    text-decoration: none !important;
}
/* カード全体をクリックで商品ページへ */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 10px;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: .5em !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-title {
    color: var(--arco-main-dark);
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
    margin-top: auto !important;
    margin-bottom: .8em !important;
    font-size: 13px;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
    display: block;
    width: 100%;
    background: var(--arco-grad-btn) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: .75em 1.2em !important;
    font-size: 14px !important;
    font-weight: 700;
    letter-spacing: .05em;
    box-shadow: 0 3px 8px rgba(var(--arco-shadow), .25);
    box-sizing: border-box;
    transition: background .25s ease, box-shadow .25s ease;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wp-block-button__link {
    background: var(--arco-grad-btn-hover) !important;
    box-shadow: 0 5px 14px rgba(var(--arco-shadow), .35);
}
@media (max-width: 782px) {
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
        grid-template-columns: repeat(2, 1fr);
        gap: 1em;
    }
}
@media (hover: none) {
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
        transform: none;
        box-shadow: none;
    }
}

/* ---------- ヘッダー（パソコン幅）：余白・メニュー・検索欄・お買い物カゴ ---------- */
@media (min-width: 768px) {
    /* 上の余白を詰めて全体を低く */
    #masthead.site-header {
        padding-top: 1.3em !important;
    }
    #masthead .site-branding {
        margin-bottom: 1em !important;
    }
    #masthead .site-search {
        margin-bottom: 1em !important;
    }

    /* メニュー：マウスオーバーと今いるページにオレンジの下線 */
    .main-navigation ul.menu > li > a,
    .main-navigation ul.nav-menu > li > a {
        position: relative;
        padding: 1.1em 1em !important;
        color: #444;
        font-weight: 600;
        transition: color .2s ease;
    }
    .main-navigation ul.menu > li > a::after,
    .main-navigation ul.nav-menu > li > a::after {
        content: "";
        position: absolute;
        left: 1em;
        right: 1em;
        bottom: .55em;
        height: 3px;
        border-radius: 2px;
        background: var(--arco-main);
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .25s ease;
    }
    .main-navigation ul.menu > li > a:hover,
    .main-navigation ul.nav-menu > li > a:hover,
    .main-navigation ul.menu > li.current-menu-item > a,
    .main-navigation ul.menu > li.current-menu-ancestor > a,
    .main-navigation ul.nav-menu > li.current-menu-item > a {
        color: var(--arco-main-dark) !important;
    }
    .main-navigation ul.menu > li > a:hover::after,
    .main-navigation ul.nav-menu > li > a:hover::after,
    .main-navigation ul.menu > li.current-menu-item > a::after,
    .main-navigation ul.menu > li.current-menu-ancestor > a::after,
    .main-navigation ul.nav-menu > li.current-menu-item > a::after {
        transform: scaleX(1);
    }

    /* 検索欄：角丸＋選択時にオレンジの枠 */
    .site-header .site-search .search-field {
        height: 42px;
        padding: 0 1.2em 0 2.6em !important;
        background: #fff !important;
        border: 1px solid var(--arco-border) !important;
        border-radius: 999px !important;
        font-size: 14px;
        transition: border-color .2s ease, box-shadow .2s ease;
    }
    .site-header .site-search .search-field:focus {
        outline: none;
        border-color: var(--arco-main) !important;
        box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18);
    }
    .site-header .site-search form::before {
        color: var(--arco-main) !important;
        left: 1.1em !important;
    }

    /* お買い物カゴ：角丸のボタン風＋個数バッジ */
    .site-header-cart .cart-contents {
        /* 上の検索欄と同じ幅・高さに（アイコンは左、金額は右） */
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: .7em;
        width: 100% !important;
        height: 42px !important;   /* Storefront の woocommerce.css（後から読み込み）の height:auto に負けないように */
        box-sizing: border-box;
        margin: .45em 0;
        padding: 0 1.2em 0 1.1em !important;
        border-radius: 999px;
        background: var(--arco-tint);
        border: 1px solid var(--arco-border);
        color: #333 !important;
        transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .site-header-cart .cart-contents:hover {
        background: #fff;
        border-color: var(--arco-main);
        box-shadow: 0 4px 12px rgba(var(--arco-shadow), .18);
    }
    /* Storefront標準のカゴのアイコンは使わない */
    .site-header-cart .cart-contents::after {
        display: none !important;
    }
    .arco-cart-total {
        font-weight: 700;
        font-size: 15px;
        white-space: nowrap;
    }
}
/* カゴのアイコン（共通） */
.arco-cart-icon {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
    flex: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd6f0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.6-6.8H6.1'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* 個数のバッジ（オレンジの丸） */
.arco-cart-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--arco-main);
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700;
    line-height: 19px;
    text-align: center;
    box-sizing: border-box;
    box-shadow: 0 0 0 2px #fff;
    opacity: 1 !important;
}
.arco-cart-badge.is-empty {
    background: #c9c9c9;
}

/* ---------- ヘッダーのロゴ（Niche's Direct） ---------- */
.site-branding .arco-site-logo {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
}
.site-branding .arco-site-logo a {
    display: inline-block;
    line-height: 0;
}
.site-branding .arco-site-logo img {
    display: block;
    width: auto;
    height: 48px;
    max-width: 100% !important;   /* Storefront標準の最大幅230pxを外す */
}
@media (min-width: 768px) {
    /* Storefront標準はロゴ欄の幅が狭い（約22%）ので、ロゴ画像の幅に合わせる */
    #masthead .site-branding {
        width: auto !important;
        max-width: 330px;
    }
}
@media (max-width: 767px) {
    .site-branding .arco-site-logo img {
        height: 34px;
    }
    /* スマホ：メニューボタンと重ならない幅に */
    .site-branding {
        max-width: 62%;
    }
}

/* ---------- スマホ画面下のバー（ホーム・検索・カゴ） ---------- */
@media (max-width: 767px) {
    .storefront-handheld-footer-bar {
        background: #fff !important;
        border-top: 0 !important;
        box-shadow: 0 -4px 14px rgba(var(--arco-shadow), .14);
    }
    /* 上端にサイト共通のグラデーションの線 */
    .storefront-handheld-footer-bar::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        height: 3px;
        background: var(--arco-grad);
        z-index: 2;
    }
    .storefront-handheld-footer-bar ul li {
        border: 0 !important;
    }
    .storefront-handheld-footer-bar ul li > a {
        position: relative;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        height: 60px !important;
        padding: 0 0 9px !important;
        text-indent: 0 !important;
        background: #fff !important;
        border: 0 !important;
        color: #666 !important;
        font-size: 11px !important;
        font-weight: 700;
        letter-spacing: .08em;
        line-height: 1.2 !important;
        box-sizing: border-box;
        transition: color .2s ease;
    }
    /* アイコン（オレンジの線画） */
    .storefront-handheld-footer-bar ul li > a::before {
        content: "" !important;
        position: absolute !important;
        top: 11px !important;
        left: 50% !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        transform: translateX(-50%);
        font-family: inherit !important;
        line-height: 1 !important;
        background: var(--arco-main);
        -webkit-mask: var(--arco-icon) no-repeat center / contain;
        mask: var(--arco-icon) no-repeat center / contain;
    }
    .storefront-handheld-footer-bar ul li.home > a {
        --arco-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V20a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1V9.5'/%3E%3C/svg%3E");
    }
    .storefront-handheld-footer-bar ul li.search > a {
        --arco-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m20 20-4.8-4.8'/%3E%3C/svg%3E");
    }
    .storefront-handheld-footer-bar ul li.cart > a {
        --arco-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.6-6.8H6.1'/%3E%3C/svg%3E");
    }
    /* 押したとき・今いるページ */
    .storefront-handheld-footer-bar ul li > a:active,
    .storefront-handheld-footer-bar ul li > a[aria-current="page"],
    .storefront-handheld-footer-bar ul li.search.active > a {
        color: var(--arco-main-dark) !important;
        background: var(--arco-tint) !important;
    }
    /* カゴの個数バッジ */
    .storefront-handheld-footer-bar ul li.cart .count {
        position: absolute !important;
        top: 5px !important;
        left: calc(50% + 6px) !important;
        min-width: 18px;
        height: 18px !important;
        width: auto !important;
        padding: 0 5px;
        border-radius: 999px !important;
        background: var(--arco-main) !important;
        color: #fff !important;
        border: 2px solid #fff !important;
        font-size: 10px !important;
        font-weight: 700;
        line-height: 14px !important;
        text-indent: 0 !important;
        text-align: center;
        box-sizing: content-box;
    }
    .storefront-handheld-footer-bar ul li.cart .count.is-empty {
        background: #c9c9c9 !important;
    }
    /* 検索を押したときに出る検索欄 */
    .storefront-handheld-footer-bar ul li.search .site-search {
        background: #fff !important;
        border-top: 1px solid var(--arco-border-soft);
        padding: .8em 1em !important;
        box-shadow: 0 -4px 14px rgba(var(--arco-shadow), .10);
    }
    .storefront-handheld-footer-bar ul li.search .site-search .search-field {
        height: 42px;
        padding: 0 1.2em 0 2.6em !important;
        background: #fff !important;
        border: 1px solid var(--arco-main) !important;
        border-radius: 999px !important;
        font-size: 16px;   /* iPhoneで拡大されないよう16px */
    }
    .storefront-handheld-footer-bar ul li.search .site-search form::before {
        color: var(--arco-main) !important;
        left: 1.1em !important;
    }
}
/* スマホ画面下のバーを画面に固定する
   （元の「オーバーレイの上にコンテンツを乗せる」指定で position: relative になり、ページの一番下に埋もれていた） */
@media (max-width: 767px) {
    .site-footer .storefront-handheld-footer-bar,
    .storefront-handheld-footer-bar {
        position: fixed !important;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999 !important;
    }
    /* バーに隠れないよう、ページの最後に余白 */
    body {
        padding-bottom: 60px;
    }
}

/* ---------- ヘッダー（スマホ幅）：固定表示・メニューボタン・上にかぶさって開くメニュー ---------- */
@media (max-width: 767px) {
    /* 固定（sticky）が効くように overflow-x:hidden を clip に置き換え */
    body,
    #page {
        overflow-x: clip !important;
        overflow-y: visible !important;
    }
    #masthead.site-header {
        position: sticky;
        top: 0;
        z-index: 1000;
        background: #fff !important;
        padding: 0 !important;
        border-bottom: 0 !important;
        box-shadow: 0 3px 14px rgba(var(--arco-shadow), .14);
    }
    /* 上端にサイト共通のグラデーションの線 */
    #masthead.site-header::before {
        content: "";
        display: block;
        height: 3px;
        background: var(--arco-grad);
    }
    /* ロゴの段：高さ58px、ロゴは左、メニューボタンは右 */
    #masthead > .col-full {
        display: flex;
        align-items: center;
        height: 58px;
        margin: 0 16px !important;
        padding: 0 64px 0 0 !important;
    }
    #masthead .site-branding {
        float: none !important;
        margin: 0 !important;
        max-width: 100% !important;
        width: auto !important;
    }
    #masthead .site-branding .arco-site-logo img {
        height: 32px;
    }
    /* メニューの段は高さを持たせず、ボタンとメニューだけをヘッダー上に重ねる */
    #masthead .storefront-primary-navigation,
    #masthead .storefront-primary-navigation > .col-full,
    #masthead #site-navigation {
        position: static !important;
        height: 0;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* メニューボタン：下のバーと同じ「アイコン＋小さな文字」 */
    #masthead .menu-toggle {
        position: absolute !important;
        top: 9px;              /* 線3px＋上下中央 */
        right: 12px;
        z-index: 3;
        width: 52px;
        height: 46px;
        margin: 0 !important;
        padding: 23px 0 0 !important;
        border: 0 !important;
        border-radius: 12px;
        background: var(--arco-tint) !important;
        color: var(--arco-main-dark) !important;
        font-size: 10px !important;
        font-weight: 700;
        line-height: 1.2 !important;
        letter-spacing: .02em;
        text-align: center;
        box-shadow: none !important;
        transition: background-color .2s ease;
    }
    #masthead .menu-toggle span::before,
    #masthead .menu-toggle::after {
        display: none !important;
    }
    #masthead .menu-toggle span {
        display: block;
        position: static !important;
    }
    #masthead .menu-toggle::before {
        content: "" !important;
        position: absolute !important;
        top: 6px !important;
        left: 50% !important;
        width: 20px !important;
        height: 20px !important;
        margin: 0 0 0 -10px !important;
        background: var(--arco-main) !important;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;
                mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;
        transform: none !important;
        transition: none;
    }
    #masthead .main-navigation.toggled .menu-toggle {
        background: var(--arco-main) !important;
        color: #fff !important;
    }
    #masthead .main-navigation.toggled .menu-toggle::before {
        background: #fff !important;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
                mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
    }

    /* メニュー本体：ヘッダーの真下に、ページの上へかぶさって開く（下の内容は押し出さない） */
    #masthead .handheld-navigation {
        display: block !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 2;
        max-height: calc(100vh - 140px) !important;
        overflow-y: auto !important;
        margin: 0 !important;
        padding: 6px 16px 16px;
        background: #fff;
        border-radius: 0 0 18px 18px;
        /* 後ろのページを暗く（ヘッダーは暗くしない） */
        box-shadow: 0 0 0 100vmax rgba(40, 24, 8, .38), 0 10px 24px rgba(0, 0, 0, .12);
        clip-path: inset(0 -100vmax -100vmax -100vmax);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    }
    #masthead .main-navigation.toggled .handheld-navigation {
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity .2s ease, transform .2s ease;
    }
    #masthead .handheld-navigation ul.menu {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
    }
    #masthead .handheld-navigation ul.menu li {
        margin: 0 !important;
        border: 0 !important;
        border-bottom: 1px solid var(--arco-border-soft) !important;
    }
    #masthead .handheld-navigation ul.menu > li:last-child {
        border-bottom: 0 !important;
    }
    #masthead .handheld-navigation ul.menu li a {
        position: relative;
        display: flex !important;
        align-items: center;
        min-height: 52px;
        padding: 0 36px 0 14px !important;
        color: #333 !important;
        font-size: 15px;
        font-weight: 700;
        border-radius: 10px;
        transition: background-color .15s ease, color .15s ease;
    }
    /* 左に小さなオレンジの点、右に矢印 */
    #masthead .handheld-navigation ul.menu li a::before {
        content: "";
        width: 6px;
        height: 6px;
        margin-right: 12px;
        border-radius: 50%;
        background: var(--arco-main-light);
        flex: none;
    }
    #masthead .handheld-navigation ul.menu li a::after {
        content: "";
        position: absolute;
        right: 14px;
        top: 50%;
        width: 8px;
        height: 8px;
        margin-top: -5px;
        border-top: 2px solid var(--arco-main);
        border-right: 2px solid var(--arco-main);
        transform: rotate(45deg);
    }
    #masthead .handheld-navigation ul.menu li a:hover,
    #masthead .handheld-navigation ul.menu li a:active {
        background: var(--arco-tint);
        color: var(--arco-main-dark) !important;
    }
    /* 今いるページ */
    #masthead .handheld-navigation ul.menu li.current-menu-item > a {
        background: var(--arco-tint);
        color: var(--arco-main-dark) !important;
    }
    #masthead .handheld-navigation ul.menu li.current-menu-item > a::before {
        background: var(--arco-main);
    }
    /* 子メニューの開閉ボタン（今は未使用だが、追加された時のため） */
    #masthead .handheld-navigation .dropdown-toggle {
        display: none !important;
    }
    #masthead .handheld-navigation ul.sub-menu {
        display: block !important;
        margin: 0 0 6px 20px !important;
    }
    #masthead .handheld-navigation ul.sub-menu li a {
        min-height: 44px;
        font-size: 14px;
        font-weight: 400;
    }
    /* パソコン用のメニュー・カゴはスマホでは出さない（Storefront標準どおり） */
    #masthead .primary-navigation,
    #masthead .site-header-cart {
        display: none !important;
    }

    /* 画面下のバーがフッターの重なり順に閉じ込められ、商品カードのボタンが上に出ていたのを修正 */
    .site-footer > .col-full {
        z-index: auto !important;
    }
}
/* 管理バーが画面上に固定される幅（601〜767px）では、その下に固定 */
@media (min-width: 601px) and (max-width: 767px) {
    body.admin-bar #masthead.site-header {
        top: 46px;
    }
}

/* ---------- カゴに商品が入っているとき：アイコンを塗りつぶし、空のときは個数「0」を出さない ---------- */
/* functions.php のカゴのリンクに、商品が入っているときだけ arco-has-items が付く */
.cart-contents.arco-has-items .arco-cart-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd6f0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.1 8h15l-1.6 6.8a1.6 1.6 0 0 1-1.6 1.2H9.1a1.6 1.6 0 0 1-1.6-1.3z' fill='%23f28a1c'/%3E%3Cpath d='M2.5 3.5h2.6L6.1 8'/%3E%3Ccircle cx='9' cy='20' r='1.6' fill='%23dd6f0a'/%3E%3Ccircle cx='18' cy='20' r='1.6' fill='%23dd6f0a'/%3E%3C/svg%3E");
}
.arco-cart-badge.is-empty {
    display: none !important;
}
.arco-cart-badge {
    animation: arco-badge-pop .3s ease;
}
@keyframes arco-badge-pop {
    0%   { transform: scale(.4); }
    70%  { transform: scale(1.15); }
    100% { transform: scale(1); }
}
@media (max-width: 767px) {
    .storefront-handheld-footer-bar ul li.cart > a.arco-has-items {
        --arco-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.1 8h15l-1.6 6.8a1.6 1.6 0 0 1-1.6 1.2H9.1a1.6 1.6 0 0 1-1.6-1.3z' fill='%23000'/%3E%3Cpath d='M2.5 3.5h2.6L6.1 8'/%3E%3Ccircle cx='9' cy='20' r='1.6' fill='%23000'/%3E%3Ccircle cx='18' cy='20' r='1.6' fill='%23000'/%3E%3C/svg%3E");
        color: var(--arco-main-dark) !important;
    }
    .storefront-handheld-footer-bar ul li.cart .count.is-empty {
        display: none !important;
    }
    .storefront-handheld-footer-bar ul li.cart .count {
        animation: arco-badge-pop .3s ease;
    }
}

/* ---------- ヘッダーのSDGsロゴ：Niche's Direct のロゴと重ならないように ---------- */
/* 768〜1099px：縦積みのロゴを、Niche's Direct のロゴのすぐ右に */
@media (min-width: 768px) and (max-width: 1099px) {
    .header-sdgs-logo-inline {
        top: 25px;              /* ロゴ（高さ48px＋余白）の上下中央 */
        left: 396px;            /* 左余白42px＋ロゴ幅330px＋間隔24px */
        transform: translateY(-50%);
    }
    .header-sdgs-logo-inline img {
        width: auto;
        height: 52px;
        max-height: none;
    }
}
/* 1100px以上：これまでどおり横長のロゴ */
@media (min-width: 1100px) {
    .header-sdgs-logo-inline img {
        width: auto;
        height: 45px;
    }
}

/* ---------- ヘッダー（パソコン幅）：メニューが折り返さないように ---------- */
@media (min-width: 768px) {
    .main-navigation ul.menu > li > a,
    .main-navigation ul.nav-menu > li > a {
        white-space: nowrap;
    }
}
/* 768〜959px：項目の左右の余白と文字を少し詰めて、1行に収める */
@media (min-width: 768px) and (max-width: 959px) {
    .main-navigation ul.menu > li > a,
    .main-navigation ul.nav-menu > li > a {
        padding-left: .6em !important;
        padding-right: .6em !important;
        font-size: 15px;
    }
    .main-navigation ul.menu > li > a::after,
    .main-navigation ul.nav-menu > li > a::after {
        left: .6em;
        right: .6em;
    }
    #masthead .main-navigation ul.menu,
    #masthead .main-navigation ul.nav-menu {
        margin-left: -.6em;
    }
}

/* ---------- ヘッダーのカゴにマウスを乗せたときの一覧（パソコン幅） ---------- */
@media (min-width: 768px) {
    /* 幅を広げ、カゴのボタンの右端にそろえて表示 */
    .site-header-cart .widget_shopping_cart {
        width: 340px !important;
        top: calc(100% + 10px) !important;
        padding: 0 !important;
        background: #fff !important;
        border: 1px solid var(--arco-border) !important;
        border-radius: 16px;
        box-shadow: 0 14px 34px rgba(var(--arco-shadow), .2);
        overflow: visible;
    }
    .site-header-cart:hover .widget_shopping_cart,
    .site-header-cart.focus .widget_shopping_cart {
        left: auto !important;
        right: 0 !important;
    }
    /* ボタンと一覧のすき間でマウスが外れて閉じないように（見えない橋） */
    .site-header-cart .widget_shopping_cart::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -12px;
        height: 12px;
    }
    /* 上に小さな三角（カゴのボタンを指す） */
    .site-header-cart .widget_shopping_cart::after {
        content: "";
        position: absolute;
        top: -7px;
        right: 34px;
        width: 12px;
        height: 12px;
        background: #fff;
        border-left: 1px solid var(--arco-border);
        border-top: 1px solid var(--arco-border);
        transform: rotate(45deg);
    }
    .site-header-cart .widget_shopping_cart_content {
        border-radius: 16px;
        overflow: hidden;
    }

    /* 商品の行：写真・商品名・個数×価格・削除 */
    .site-header-cart .widget_shopping_cart ul.product_list_widget {
        max-height: 300px !important;
        margin: 0 !important;
        padding: 6px 0 !important;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li {
        position: relative;
        padding: 10px 44px 10px 16px !important;
        border-bottom: 1px solid var(--arco-border-soft) !important;
        background: transparent !important;
        list-style: none;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li:last-child {
        border-bottom: 0 !important;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li > a:not(.remove) {
        display: grid !important;
        grid-template-columns: 56px 1fr;
        align-items: center;
        column-gap: 12px;
        color: #333 !important;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.45;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li > a:not(.remove):hover {
        color: var(--arco-main-dark) !important;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li img {
        float: none !important;
        grid-row: span 2;
        width: 56px !important;
        height: 56px !important;
        max-width: none !important;
        margin: 0 !important;
        object-fit: cover;
        border-radius: 10px;
        border: 1px solid var(--arco-border-soft);
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li .quantity {
        display: block;
        margin: 2px 0 0 68px;
        color: #888;
        font-size: 12px;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li .quantity .amount {
        color: var(--arco-main-dark);
        font-weight: 700;
        font-size: 13px;
    }
    /* 削除ボタン：右側の丸い × */
    .site-header-cart .widget_shopping_cart ul.product_list_widget li a.remove {
        position: absolute !important;
        top: 50% !important;
        right: 14px;
        left: auto !important;
        float: none !important;
        width: 22px !important;
        height: 22px !important;
        margin-top: -11px;
        border-radius: 50%;
        background: #f1f1f1 !important;
        color: #999 !important;
        font-size: 14px !important;
        line-height: 22px !important;
        text-align: center;
        text-indent: 0 !important;
        opacity: 1 !important;
        transition: background-color .15s ease, color .15s ease;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li a.remove::before {
        display: none !important;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget li a.remove:hover {
        background: var(--arco-main) !important;
        color: #fff !important;
    }

    /* 小計：左右に分けて、金額をオレンジで大きく */
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total {
        display: flex !important;
        justify-content: space-between;
        align-items: baseline;
        margin: 0 !important;
        padding: 12px 16px !important;
        background: var(--arco-tint) !important;
        border-top: 1px solid var(--arco-border-soft) !important;
        color: #555;
        font-size: 13px;
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total .amount {
        color: var(--arco-main-dark);
        font-size: 18px;
        font-weight: 800;
    }

    /* ボタン：2つを横に並べる（カゴを見る＝白、購入手続き＝オレンジ） */
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons {
        display: flex !important;
        gap: 8px;
        margin: 0 !important;
        padding: 12px 16px 16px !important;
        background: var(--arco-tint) !important;
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button {
        flex: 1 1 0;
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        margin: 0 !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
        transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button::after {
        display: none !important;
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button:not(.checkout) {
        background: #fff !important;
        color: var(--arco-main-dark) !important;
        border: 1.5px solid var(--arco-main) !important;
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
        background: var(--arco-tint) !important;
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.checkout {
        background: var(--arco-grad-btn) !important;
        color: #fff !important;
        border: 0 !important;
        box-shadow: 0 4px 12px rgba(var(--arco-shadow), .3);
    }
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons a.checkout:hover {
        background: var(--arco-grad-btn-hover) !important;
        transform: translateY(-1px);
    }

    /* カゴが空のとき */
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__empty-message {
        margin: 0 !important;
        padding: 22px 16px !important;
        color: #888;
        font-size: 13px;
        text-align: center;
    }
}

/* ---------- フッター（スマホ・タブレット幅 900px以下）：縦長になりすぎないよう詰める ---------- */
/* 会社情報は横いっぱい、「商品案内」と「サイト情報」は左右2列に並べる */
@media (max-width: 900px) {
    .site-footer .footer-widgets {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        column-gap: 20px;
        row-gap: 0;
        padding: 1.8em 0 1.2em !important;
    }
    .site-footer .footer-widgets::before,
    .site-footer .footer-widgets::after {
        display: none !important;
    }
    .site-footer .footer-widgets .footer-widget-1 {
        grid-column: 1 / -1;
        margin-bottom: 1.4em !important;
        padding-bottom: 1.4em;
        border-bottom: 1px solid var(--arco-border);
    }
    .site-footer .footer-widgets .footer-widget-2,
    .site-footer .footer-widgets .footer-widget-3 {
        width: auto !important;
        margin: 0 !important;
        text-align: left !important;
    }
    /* 会社情報：ロゴを小さく、文字と行間を詰める */
    .site-footer .footer-company-logo img {
        max-width: 150px !important;
    }
    .site-footer .footer-company-logo {
        margin-bottom: .4em !important;
    }
    .site-footer .footer-widget-1 .wp-block-paragraph {
        font-size: 12px !important;
        line-height: 1.7 !important;
    }
    .site-footer .footer-widget-1 .widget {
        margin-bottom: .7em !important;
    }
    .footer-contact-button {
        max-width: 240px !important;
    }
    .footer-contact-button a,
    .footer-contact-button a:visited {
        padding: .6em 1.2em !important;
        font-size: 14px;
    }
    /* 見出しとリンク：左寄せで小さめに */
    .site-footer .footer-col-heading {
        font-size: 14px !important;
        margin-bottom: .6em !important;
    }
    .site-footer .footer-col-heading::after {
        left: 0 !important;
        transform: none !important;
    }
    .site-footer .footer-link-list {
        display: block !important;
    }
    .site-footer .footer-link-list li {
        margin-bottom: .35em !important;
        font-size: 13px;
        line-height: 1.5;
        padding-left: 1em;
        text-indent: -1em;     /* 長い項目が折り返しても「›」の後ろにそろえる */
    }
    .site-footer .footer-link-list li::before {
        margin-right: .35em;
    }
    .site-footer .footer-widget-2 .widget,
    .site-footer .footer-widget-3 .widget {
        margin-bottom: 0 !important;
    }
    .site-footer .site-info {
        padding: .8em 0 !important;
        font-size: 11px;
    }
}

/* ---------- フッター（900px以下）：商品案内は丸いボタン、サイト情報はコピーライトの上に小さく1行 ---------- */
/* 長い表記／短い表記（functions.php の widget_block_content で両方出力）：パソコン幅は長い表記 */
.arco-label-short {
    display: none;
}
@media (max-width: 900px) {
    .arco-label-full {
        display: none;
    }
    .arco-label-short {
        display: inline;
    }
    /* 1列にして、上から 会社情報 → 商品案内 → サイト情報 */
    .site-footer .footer-widgets {
        grid-template-columns: 1fr !important;
        padding-bottom: .4em !important;
    }
    .site-footer .footer-widgets .footer-widget-1 {
        margin-bottom: 1.1em !important;
        padding-bottom: 1.1em;
    }
    .site-footer .footer-widgets .footer-widget-2,
    .site-footer .footer-widgets .footer-widget-3 {
        text-align: center !important;
    }
    /* 見出しは出さない（ボタンと小さなリンクで役割が分かるため） */
    .site-footer .footer-widget-2 .footer-col-heading,
    .site-footer .footer-widget-3 .footer-col-heading {
        display: none;
    }
    .site-footer .footer-widget-2 .widget:has(.footer-col-heading),
    .site-footer .footer-widget-3 .widget:has(.footer-col-heading) {
        display: none;
    }

    /* 商品案内：角丸の小さなボタンを横に並べる */
    .site-footer .footer-widget-2 .footer-link-list {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }
    .site-footer .footer-widget-2 .footer-link-list li {
        margin: 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
    }
    .site-footer .footer-widget-2 .footer-link-list li::before {
        display: none !important;
    }
    .site-footer .footer-widget-2 .footer-link-list a,
    .site-footer .footer-widget-2 .footer-link-list a:visited {
        display: inline-block;
        padding: .45em 1.1em;
        background: #fff;
        border: 1px solid var(--arco-border);
        border-radius: 999px;
        color: #444 !important;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.4;
        transition: background .2s ease, border-color .2s ease, color .2s ease;
    }
    .site-footer .footer-widget-2 .footer-link-list a:hover,
    .site-footer .footer-widget-2 .footer-link-list a:active {
        background: var(--arco-main);
        border-color: var(--arco-main);
        color: #fff !important;
    }

    /* サイト情報：小さな文字を「｜」で区切って1行に */
    .site-footer .footer-widgets .footer-widget-3 {
        padding-top: 1.2em !important;
    }
    .site-footer .footer-widget-3 .footer-link-list {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 4px;
    }
    .site-footer .footer-widget-3 .footer-link-list li {
        margin: 0 !important;
        padding: 0 !important;
        text-indent: 0 !important;
        font-size: 11px;
        white-space: nowrap;
    }
    .site-footer .footer-widget-3 .footer-link-list li::before {
        display: none !important;
    }
    .site-footer .footer-widget-3 .footer-link-list li + li::after {
        content: none;
    }
    .site-footer .footer-widget-3 .footer-link-list li + li {
        border-left: 1px solid #ccc;
    }
    .site-footer .footer-widget-3 .footer-link-list a,
    .site-footer .footer-widget-3 .footer-link-list a:visited {
        display: inline-block;
        padding: .1em .7em;
        color: #777 !important;
    }
    .site-footer .site-info {
        border-top: 0 !important;
        padding-top: .3em !important;
    }
}

/* ---------- フッター（900px以下）：商品案内に「カテゴリ」の見出し、ボタンを同じ大きさにそろえる ---------- */
@media (max-width: 900px) {
    .site-footer .footer-widget-2 .footer-link-list {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);   /* スマホ：2列×2段 */
        gap: 8px;
        max-width: 340px;
        margin: 0 auto !important;
    }
    /* 見出し「カテゴリ」：両側に短いオレンジの線 */
    .site-footer .footer-widget-2 .footer-link-list::before {
        content: "カテゴリ";
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .7em;
        margin-bottom: 2px;
        color: #555;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .1em;
        background:
            linear-gradient(var(--arco-main), var(--arco-main)) left calc(50% - 3.4em) center / 18px 2px no-repeat,
            linear-gradient(var(--arco-main), var(--arco-main)) right calc(50% - 3.4em) center / 18px 2px no-repeat;
    }
    .site-footer .footer-widget-2 .footer-link-list a,
    .site-footer .footer-widget-2 .footer-link-list a:visited {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 40px;
        box-sizing: border-box;
        padding: .3em .6em !important;
        white-space: nowrap;
    }
}
/* タブレット幅：4つを横1列に */
@media (min-width: 560px) and (max-width: 900px) {
    .site-footer .footer-widget-2 .footer-link-list {
        grid-template-columns: repeat(4, 1fr);
        max-width: 600px;
    }
}

/* ---------- フッター（900px以下）：上から カテゴリ → 会社情報 → サイト情報 の順に ---------- */
@media (max-width: 900px) {
    .site-footer .footer-widgets .footer-widget-2 {
        order: 1;
        margin-bottom: 1.3em !important;
        padding-bottom: 1.3em !important;
        border-bottom: 1px solid var(--arco-border);
    }
    .site-footer .footer-widgets .footer-widget-1 {
        order: 2;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
    }
    .site-footer .footer-widgets .footer-widget-3 {
        order: 3;
    }
}

/* ---------- トップページ：セクション見出し（Pick UP ITEM／各カテゴリ）をそろえる ---------- */
/* カテゴリ見出しは商品ブロックの中にあるため、WooCommerce の指定で14pxに縮んでいた */
.entry-content .pickup-heading,
.entry-content .category-heading,
.wp-block-woocommerce-product-collection h2.wp-block-heading.category-heading {
    font-size: 1.6em !important;
    font-weight: 700;
    line-height: 1.3 !important;
    color: #333;
    margin: 2.2em 0 .8em !important;
    padding-left: 12px !important;
    border-left: 4px solid var(--arco-main) !important;
}
@media (max-width: 767px) {
    .entry-content .pickup-heading,
    .entry-content .category-heading,
    .wp-block-woocommerce-product-collection h2.wp-block-heading.category-heading {
        font-size: 1.3em !important;
        margin: 1.8em 0 .7em !important;
    }
}
/* Pick UP ITEM の下の「おすすめの商品」：見出しのすぐ下に小さく */
.entry-content .pickup-heading + .wp-block-woocommerce-product-collection > h2.wp-block-heading:first-child {
    margin: -.4em 0 1em 16px !important;
    color: #888;
    font-size: 13px !important;
    font-weight: 400;
}

/* ---------- 商品の並び：標準のリストの左字下げ（約48px）で右に寄っていたのを解消 ---------- */
.wc-block-product-template,
ul.wc-block-product-template {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
}

/* ---------- 一覧ページの並べ替え（カテゴリ・タグ・商品一覧）：サイトに合わせた角丸の選択ボタン ---------- */
.storefront-sorting {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 1.4em !important;
}
.storefront-sorting::before,
.storefront-sorting::after {
    display: none !important;
}
.storefront-sorting .woocommerce-ordering {
    float: none !important;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
}
/* 左に「並べ替え」の小さなラベル（アイコン付き） */
.storefront-sorting .woocommerce-ordering::before {
    content: "並べ替え";
    display: inline-flex;
    align-items: center;
    padding-left: 22px;
    color: #666;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f28a1c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M3 16l4 4 4-4M17 20V4M13 8l4-4 4 4'/%3E%3C/svg%3E") left center / 17px no-repeat;
}
.storefront-sorting .woocommerce-ordering select.orderby {
    -webkit-appearance: none;
    appearance: none;
    height: 40px;
    min-width: 170px;
    margin: 0;
    padding: 0 40px 0 18px !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd6f0a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 14px no-repeat !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 999px !important;
    box-shadow: none;
    color: #444 !important;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.storefront-sorting .woocommerce-ordering select.orderby:hover {
    border-color: var(--arco-main) !important;
}
.storefront-sorting .woocommerce-ordering select.orderby:focus {
    outline: none;
    border-color: var(--arco-main) !important;
    box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18);
}
/* ページ番号がある段では、ページ番号を右へ */
.storefront-sorting .woocommerce-pagination {
    float: none !important;
    margin: 0 0 0 auto !important;
}
@media (max-width: 767px) {
    .storefront-sorting .woocommerce-ordering {
        width: 100%;
    }
    .storefront-sorting .woocommerce-ordering select.orderby {
        flex: 1;
        min-width: 0;
    }
    .storefront-sorting .woocommerce-pagination {
        margin: 0 auto !important;
    }
}

/* ---------- 商品ブロックのページ送り（functions.php の「商品ブロック（商品コレクション）のページ送り」と連動） ---------- */
/* 読み込み中：今の商品を少し薄く */
.wp-block-woocommerce-product-collection .wc-block-product-template {
    transition: opacity .2s ease;
}
.wp-block-woocommerce-product-collection.arco-pc-loading .wc-block-product-template {
    opacity: .35;
}
/* 新しい商品：下から少し浮き上がりながら表示（1枚ずつ少しずらして） */
.wc-block-product-template.arco-pc-enter > li {
    animation: arco-pc-in .45s ease both;
}
.wc-block-product-template.arco-pc-enter > li:nth-child(2) { animation-delay: .05s; }
.wc-block-product-template.arco-pc-enter > li:nth-child(3) { animation-delay: .1s; }
.wc-block-product-template.arco-pc-enter > li:nth-child(4) { animation-delay: .15s; }
.wc-block-product-template.arco-pc-enter > li:nth-child(5) { animation-delay: .2s; }
.wc-block-product-template.arco-pc-enter > li:nth-child(6) { animation-delay: .25s; }
.wc-block-product-template.arco-pc-enter > li:nth-child(7) { animation-delay: .3s; }
.wc-block-product-template.arco-pc-enter > li:nth-child(n+8) { animation-delay: .35s; }
@keyframes arco-pc-in {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: none; }
}
/* 動きを減らす設定の端末では、アニメーションなし */
@media (prefers-reduced-motion: reduce) {
    .wc-block-product-template.arco-pc-enter > li { animation: none; }
}

/* ==========================================================
   お買い物カゴ（商品が入っているとき）・購入手続き：サイトのデザインに合わせる
   （WooCommerce のブロック版カート／チェックアウト。カード番号の入力欄は Stripe の画面のため対象外）
   ========================================================== */

/* ---------- 共通：リンク・入力欄・チェック・ボタン ---------- */
.wp-block-woocommerce-cart a,
.wp-block-woocommerce-checkout a {
    color: var(--arco-main-dark);
}
.wp-block-woocommerce-cart a:visited,
.wp-block-woocommerce-checkout a:visited {
    color: var(--arco-main-dark);
}
/* 商品名：濃い文字、マウスでオレンジ */
.wp-block-woocommerce-cart .wc-block-components-product-name,
.wp-block-woocommerce-checkout .wc-block-components-product-name,
.wp-block-woocommerce-cart a.wc-block-components-product-name:visited {
    color: #333 !important;
    font-weight: 700;
    text-decoration: none !important;
}
.wp-block-woocommerce-cart a.wc-block-components-product-name:hover {
    color: var(--arco-main-dark) !important;
}
/* 入力欄・選択欄：角丸、選択中はオレンジの枠 */
.wp-block-woocommerce-cart .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select,
.wp-block-woocommerce-checkout .wc-block-components-textarea,
.wp-block-woocommerce-checkout textarea {
    border: 1px solid var(--arco-border) !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.wp-block-woocommerce-cart .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout textarea:focus {
    border-color: var(--arco-main) !important;
    box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18) !important;
    outline: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label {
    color: #888 !important;
}
/* チェックボックス・ラジオボタン：オレンジ */
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:checked,
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked {
    background: var(--arco-main) !important;
    border-color: var(--arco-main) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark {
    fill: #fff !important;
}
.wp-block-woocommerce-cart .wc-block-components-checkbox__input:focus-visible,
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:focus-visible {
    outline: 2px solid var(--arco-main) !important;
    outline-offset: 2px;
}
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked {
    border-color: var(--arco-main) !important;
}
.wp-block-woocommerce-cart .wc-block-components-radio-control__input:checked::before,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
    background: var(--arco-main) !important;
}
/* 大きなボタン（購入手続きに進む／注文を確定）：サイト共通のオレンジの角丸ボタン */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
    min-height: 54px;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--arco-grad-btn) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    box-shadow: 0 6px 16px rgba(var(--arco-shadow), .32) !important;
    transition: background .25s ease, box-shadow .25s ease, transform .15s ease !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background: var(--arco-grad-btn-hover) !important;
    box-shadow: 0 8px 20px rgba(var(--arco-shadow), .4) !important;
    transform: translateY(-1px);
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
    outline: 2px solid var(--arco-main) !important;
    outline-offset: 3px;
}
/* 小さなボタン（クーポンを適用 など） */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button {
    border-radius: 10px !important;
    background: var(--arco-main) !important;
    border-color: var(--arco-main) !important;
    color: #fff !important;
    font-weight: 700;
}
/* 「クーポンを追加」などの開閉 */
.wp-block-woocommerce-cart .wc-block-components-panel__button,
.wp-block-woocommerce-checkout .wc-block-components-panel__button {
    color: #555 !important;
    font-weight: 600;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button:hover,
.wp-block-woocommerce-checkout .wc-block-components-panel__button:hover {
    color: var(--arco-main-dark) !important;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button-icon,
.wp-block-woocommerce-checkout .wc-block-components-panel__button-icon {
    fill: var(--arco-main) !important;
}

/* ---------- 右側の合計（カゴ）／注文概要（購入手続き）：白いカード ---------- */
.wp-block-woocommerce-cart .wc-block-cart__sidebar > *:first-child,
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    background: #fff;
    border: 1px solid var(--arco-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 20px rgba(var(--arco-shadow), .10);
    overflow: hidden;
}
.wp-block-woocommerce-cart .wc-block-cart__sidebar > *:first-child {
    padding: 4px 18px 18px;
}
/* 見出し「お買い物カゴの合計」「注文概要」 */
.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
    color: #333 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-transform: none !important;
}
.wp-block-woocommerce-cart .wc-block-cart__totals-title {
    display: block;
    margin: 0 !important;
    padding: 14px 0 12px !important;
    border-bottom: 2px solid var(--arco-main);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
    margin: 0 !important;
    padding: 16px 18px !important;
    background: var(--arco-tint);
    border-bottom: 1px solid var(--arco-border-soft);
}
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper {
    border-color: var(--arco-border-soft) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper {
    padding-left: 16px !important;
    padding-right: 16px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary {
    padding-left: 14px !important;
    padding-right: 14px !important;
}
/* 合計金額：オレンジで大きく、帯で強調 */
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item {
    margin-top: 4px;
    padding: 12px 14px !important;
    background: var(--arco-tint);
    border-radius: 12px;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item {
    margin: 4px 0 6px;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: #333;
    font-size: 15px !important;
    font-weight: 700 !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--arco-main-dark) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-container {
    padding-top: 14px;
}

/* ---------- お買い物カゴ：商品の一覧を白いカードに ---------- */
.wp-block-woocommerce-cart .wc-block-cart-items {
    background: #fff;
    border: 1px solid var(--arco-border) !important;
    border-radius: 16px;
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(var(--arco-shadow), .08);
}
.wp-block-woocommerce-cart .wc-block-cart-items th,
.wp-block-woocommerce-cart .wc-block-cart-items td {
    border-color: var(--arco-border-soft) !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header {
    background: var(--arco-tint);
}
.wp-block-woocommerce-cart .wc-block-cart-items__header th {
    background: var(--arco-tint) !important;
    padding: 12px 16px !important;
    color: #777 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row td {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row td:first-child {
    padding-left: 16px !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row td:last-child {
    padding-right: 16px !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child td {
    border-bottom: 0 !important;
}
/* 商品写真：角丸 */
.wp-block-woocommerce-cart .wc-block-cart-item__image img,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img {
    border-radius: 10px;
    border: 1px solid var(--arco-border-soft);
    object-fit: cover;
}
/* 単価・小計 */
.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wp-block-woocommerce-cart .wc-block-components-product-metadata {
    color: #888;
    font-size: 12px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value,
.wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    color: #333;
    font-weight: 700;
}
/* 個数の増減：角丸の枠＋オレンジの −／＋ */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
    border: 1px solid var(--arco-border) !important;
    border-radius: 999px !important;
    background: #fff;
    overflow: hidden;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
    display: none !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
    font-weight: 700;
    color: #333;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
    color: var(--arco-main-dark) !important;
    font-weight: 700;
    opacity: 1 !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
    background: var(--arco-tint) !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:disabled {
    color: #ccc !important;
}
/* 削除（ごみ箱） */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
    color: #aaa !important;
    transition: color .15s ease;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: var(--arco-main-dark) !important;
}

/* ---------- 購入手続き：各ステップ（連絡先・お届け先・配送・支払い・追加情報） ---------- */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
    margin-bottom: 18px !important;
    padding: 20px 22px 22px !important;
    background: #fff;
    border: 1px solid var(--arco-border) !important;
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(var(--arco-shadow), .07);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step::after {
    display: none !important;   /* 左側の縦線（標準）は不要 */
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin: 0 0 14px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
    position: relative;
    padding-left: 12px !important;
    border-left: 4px solid var(--arco-main);
    color: #333 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__container,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__content {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__container::after {
    display: none !important;
}
/* 選択肢（配送方法・支払い方法）：選択中はオレンジの枠＋うすいオレンジ */
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked,
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after {
    border-radius: 12px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
    border-radius: 12px;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option--checked-option-highlighted,
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    background: var(--arco-tint) !important;
    box-shadow: inset 0 0 0 2px var(--arco-main) !important;
    border-radius: 12px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after {
    border-color: var(--arco-border) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label {
    font-weight: 700;
}
/* お届け先の住所カード */
.wp-block-woocommerce-checkout .wc-block-components-address-card {
    border: 1px solid var(--arco-border) !important;
    border-radius: 12px !important;
    background: #fffdf9;
}
.wp-block-woocommerce-checkout .wc-block-components-address-card__edit {
    color: var(--arco-main-dark) !important;
    font-weight: 700;
    text-decoration: none !important;
}
/* 右側の注文概要：商品の個数バッジをオレンジに */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    background: var(--arco-main) !important;
    border-color: #fff !important;
    color: #fff !important;
    box-shadow: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    color: #333;
    font-weight: 700;
}
/* 「購入を続行すると…」の注意書き */
.wp-block-woocommerce-checkout .wc-block-checkout__terms {
    color: #777;
    font-size: 13px;
}
.wp-block-woocommerce-checkout .wc-block-checkout__terms--with-separator {
    border-top-color: var(--arco-border-soft) !important;
}
/* テストモードの表示（ローカルのみ）はそのまま */

@media (max-width: 767px) {
    .wp-block-woocommerce-checkout .wc-block-components-checkout-step {
        padding: 16px 14px 18px !important;
    }
    .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title {
        font-size: 16px !important;
    }
    .wp-block-woocommerce-cart .wc-block-cart-items {
        box-shadow: none;
    }
    /* スマホ：商品と商品の間が空きすぎないように */
    .wp-block-woocommerce-cart .wc-block-cart-items__row {
        padding: 14px 14px !important;
    }
    .wp-block-woocommerce-cart .wc-block-cart-items__row td,
    .wp-block-woocommerce-cart .wc-block-cart-items__row td:first-child,
    .wp-block-woocommerce-cart .wc-block-cart-items__row td:last-child {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .wp-block-woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__image {
        padding-left: 0 !important;
        padding-right: 12px !important;
    }
    .wp-block-woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__total {
        padding-right: 0 !important;
    }
    /* 画面下に固定される「購入手続きに進む」 */
    .wp-block-woocommerce-cart .wc-block-cart__submit-container--sticky {
        box-shadow: 0 -4px 14px rgba(var(--arco-shadow), .14) !important;
    }
}
/* お届け先の「編集」が縦に折り返さないように */
.wp-block-woocommerce-checkout .wc-block-components-address-card__edit {
    white-space: nowrap;
    flex: none;
    margin-left: 10px;
}

/* ==========================================================
   商品の個別ページ：サイトのデザインに合わせる
   ========================================================== */
/* パンくずと商品の間を詰める */
.single-product .storefront-breadcrumb {
    margin-bottom: 1.4em !important;
    padding-bottom: 0 !important;
}
/* 商品写真：角丸の枠 */
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product .woocommerce-product-gallery .flex-viewport {
    border-radius: 16px;
}
.single-product div.product .woocommerce-product-gallery .flex-viewport,
.single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    border: 1px solid var(--arco-border-soft);
    box-shadow: 0 6px 20px rgba(var(--arco-shadow), .10);
    overflow: hidden;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    border-radius: 10px;
    border: 2px solid transparent;
    opacity: .7;
    transition: opacity .2s ease, border-color .2s ease;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
    border-color: var(--arco-main);
    opacity: 1;
}
/* 拡大ボタン：オレンジの丸 */
.single-product div.product .woocommerce-product-gallery__trigger {
    background: var(--arco-main) !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 10px rgba(var(--arco-shadow), .35);
}
.single-product div.product .woocommerce-product-gallery__trigger::before {
    border-color: #fff !important;
}
.single-product div.product .woocommerce-product-gallery__trigger::after {
    background: #fff !important;
}

/* 商品名・価格 */
.single-product div.product .product_title {
    color: #333;
    font-size: 1.75em !important;
    font-weight: 700 !important;
    line-height: 1.45;
    letter-spacing: .02em;
    margin-bottom: .5em !important;
}
.single-product div.product p.price {
    margin: 0 0 1em !important;
    padding-bottom: .9em;
    border-bottom: 1px solid var(--arco-border-soft);
    color: #888;
    font-size: 14px !important;
}
.single-product div.product p.price .amount {
    color: var(--arco-main-dark);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: .01em;
    margin-right: .25em;
}
.single-product div.product p.price del .amount {
    color: #aaa;
    font-size: 16px;
    font-weight: 400;
}
.single-product div.product p.price ins {
    text-decoration: none;
}
/* 短い説明 */
.single-product div.product .woocommerce-product-details__short-description {
    color: #666;
    font-size: 14px;
    line-height: 1.8;
}
/* 在庫あり：小さな丸いラベル */
.single-product div.product p.stock {
    display: inline-flex;
    align-items: center;
    margin: 0 0 1em !important;
    padding: .25em .9em !important;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}
.single-product div.product p.stock.in-stock {
    background: #eaf7ee;
    color: #1e8a44 !important;
}
.single-product div.product p.stock.out-of-stock {
    background: #fdeceb;
    color: #c0392b !important;
}
.single-product div.product p.stock::before {
    font-size: 13px;
}

/* まとめ買い価格の表：白いカード */
.single-product .summary .arco-bulk {
    margin: 0 0 1.2em !important;
    padding: 14px 16px 12px;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 14px;
}
.single-product .summary .arco-bulk-title {
    margin: 0 0 .6em !important;
    padding-left: 10px;
    border-left: 3px solid var(--arco-main);
    color: #333;
    font-size: 14px;
    line-height: 1.3;
}
.single-product .summary .arco-bulk table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;
    font-size: 14px;
}
.single-product .summary .arco-bulk th {
    background: var(--arco-tint) !important;
    color: #777;
    font-size: 12px;
    font-weight: 700;
}
.single-product .summary .arco-bulk td {
    background: #fff !important;
    border-top: 1px solid var(--arco-border-soft);
}
.single-product .summary .arco-bulk td:last-child {
    color: var(--arco-main-dark);
    font-weight: 700;
}
.single-product .summary .arco-bulk-note {
    margin-top: .6em !important;
    color: #888 !important;
    font-size: 12px !important;
    line-height: 1.6;
}

/* 送料の確認（プラグインの部品：元の直接指定を上書き） */
.single-product #product-shipping-calc {
    margin: 0 0 1.4em !important;
    padding: 14px 16px !important;
    background: #fff !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 14px;
    font-size: 14px;
}
.single-product #product-shipping-calc > strong {
    display: inline-block;
    margin-bottom: .5em;
    padding-left: 10px;
    border-left: 3px solid var(--arco-main);
    color: #333;
    line-height: 1.3;
}
.single-product #product-shipping-calc #calc_postcode {
    height: 40px;
    width: 190px;
    max-width: 60%;
    padding: 0 14px !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 999px;
    background: #fff;
    box-shadow: none;
    font-size: 14px;
}
.single-product #product-shipping-calc #calc_postcode:focus {
    outline: none;
    border-color: var(--arco-main) !important;
    box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18);
}
.single-product #product-shipping-calc #calc_btn {
    height: 40px;
    margin-left: 6px;
    padding: 0 18px;
    border: 1.5px solid var(--arco-main) !important;
    border-radius: 999px;
    background: #fff !important;
    color: var(--arco-main-dark) !important;
    font-size: 14px;
    font-weight: 700;
    transition: background .2s ease;
}
.single-product #product-shipping-calc #calc_btn:hover {
    background: var(--arco-tint) !important;
}
.single-product #product-shipping-calc #calc_result span {
    color: var(--arco-main-dark) !important;
}

/* 個数とカゴに追加：高さをそろえた角丸 */
.single-product div.product form.cart {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.4em !important;
    padding: 0 !important;
}
.single-product div.product form.cart::before,
.single-product div.product form.cart::after {
    display: none !important;
}
.single-product div.product form.cart .quantity {
    float: none !important;
    margin: 0 !important;
}
.single-product div.product form.cart .qty {
    width: 76px;
    height: 52px;
    padding: 0 8px !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 999px;
    background: #fff !important;
    box-shadow: none !important;
    color: #333;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
}
.single-product div.product form.cart .qty:focus {
    outline: none;
    border-color: var(--arco-main) !important;
    box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18) !important;
}
.single-product div.product form.cart .single_add_to_cart_button {
    flex: 1;
    float: none !important;
    min-height: 52px;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    letter-spacing: .06em;
}

/* 定期便：うすいオレンジのカード */
.single-product .summary .arco-sub-box {
    margin: 0 0 1.4em !important;
    padding: 16px 18px 14px !important;
    background: var(--arco-tint) !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 16px !important;
}
.single-product .summary .arco-sub-title {
    display: inline-block;
    margin: 0 0 .4em !important;
    padding: .2em .9em;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--arco-border);
    color: var(--arco-main-dark) !important;
    font-size: 13px;
}
.single-product .summary .arco-sub-price {
    color: var(--arco-main-dark);
    font-size: 26px !important;
    font-weight: 800 !important;
}
.single-product .summary .arco-sub-price .arco-sub-tax {
    color: #888;
    font-size: 13px !important;
}
.single-product .summary .arco-sub-button {
    min-height: 50px;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--arco-main-dark) !important;
    box-shadow: inset 0 0 0 2px var(--arco-main) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .05em;
    transition: background .2s ease, color .2s ease !important;
}
.single-product .summary .arco-sub-button:hover {
    background: var(--arco-main) !important;
    color: #fff !important;
}
.single-product .summary .arco-sub-note {
    color: #888 !important;
    font-size: 12px !important;
    line-height: 1.7;
}

/* 商品コード・カテゴリー・タグ：小さく区切って */
.single-product div.product .product_meta {
    padding-top: 1em !important;
    border-top: 1px solid var(--arco-border-soft) !important;
    color: #888;
    font-size: 13px;
}
.single-product div.product .product_meta > span {
    display: inline-block;
    margin: 0 1.2em .3em 0;
}
.single-product div.product .product_meta a {
    color: var(--arco-main-dark) !important;
    font-weight: 600;
}

/* 説明のタブ：横いっぱいの白いカードに */
.single-product div.product .woocommerce-tabs {
    clear: both;
    margin-top: 1em;
    padding-top: 0 !important;
}
.single-product div.product .woocommerce-tabs ul.tabs {
    float: none !important;
    width: auto !important;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 -1px !important;
    padding: 0 !important;
    border: 0 !important;
}
.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    border: 0 !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: .7em 1.6em !important;
    border: 1px solid var(--arco-border) !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0;
    background: #fff;
    color: #777 !important;
    font-weight: 700;
}
.single-product div.product .woocommerce-tabs ul.tabs li.active a {
    background: var(--arco-main) !important;
    border-color: var(--arco-main) !important;
    color: #fff !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li a::after,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}
.single-product div.product .woocommerce-tabs .panel {
    float: none !important;
    width: auto !important;
    margin: 0 0 2em !important;
    padding: 1.6em 1.8em !important;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-top: 3px solid var(--arco-main);
    border-radius: 0 16px 16px 16px;
    line-height: 1.9;
}
/* タブ名と同じ「説明」の見出しは重複するので出さない */
.single-product div.product .woocommerce-tabs .panel > h2:first-child {
    display: none;
}
.single-product div.product .woocommerce-tabs .panel img {
    border-radius: 10px;
}

/* 関連商品の見出し：トップの見出しと同じ（左にオレンジの線） */
.single-product .related.products > h2,
.single-product .upsells.products > h2 {
    margin: 1.4em 0 .9em !important;
    padding-left: 12px;
    border-left: 4px solid var(--arco-main);
    color: #333;
    font-size: 1.5em !important;
    font-weight: 700 !important;
    line-height: 1.3;
    text-align: left !important;
}

/* 画面の左右に出る「前の商品／次の商品」：角丸＋影 */
.storefront-product-pagination a {
    border-radius: 12px !important;
    box-shadow: 0 6px 18px rgba(var(--arco-shadow), .2) !important;
    border: 1px solid var(--arco-border-soft);
}
.storefront-product-pagination a img {
    border-radius: 8px;
}
.storefront-product-pagination a:hover {
    border-color: var(--arco-main);
}

@media (max-width: 767px) {
    .single-product #product-shipping-calc #calc_postcode {
        width: calc(100% - 110px);
        max-width: none;
        font-size: 13px;
    }
    .single-product div.product .product_title {
        font-size: 1.35em !important;
    }
    .single-product div.product p.price .amount {
        font-size: 26px;
    }
    .single-product div.product .woocommerce-tabs .panel {
        padding: 1.2em 1.1em !important;
    }
    .single-product .related.products > h2,
    .single-product .upsells.products > h2 {
        font-size: 1.3em !important;
    }
}

/* ---------- ページが見つからないとき（404.php） ---------- */
.error404 .content-area.arco-404 {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}
.error404 .storefront-breadcrumb {
    margin-bottom: 1.2em !important;
    padding-bottom: 0 !important;
}
.arco-404__banner {
    position: relative;
    overflow: hidden;
    margin: 0 0 1.6em;
    padding: 2.4em 1.5em 2.2em;
    background: var(--arco-grad);
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(var(--arco-shadow), .20);
    color: #fff;
    text-align: center;
}
.arco-404__banner::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -60px;
    top: -90px;
    border-radius: 50%;
    background: rgba(255, 210, 63, .45);
}
.arco-404__banner > * {
    position: relative;
}
.arco-404__code {
    margin: 0 0 .4em !important;
    color: #fff3c4;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .3em;
}
.arco-404__title {
    margin: 0 0 .5em !important;
    color: #fff !important;
    font-size: 1.7em !important;
    font-weight: 700 !important;
    letter-spacing: .05em;
}
.arco-404__lead {
    margin: 0 !important;
    color: rgba(255, 255, 255, .9);
    font-size: 14px;
}
.arco-404__box {
    max-width: 640px;
    margin: 0 auto 2.5em;
    padding: 1.8em 1.8em 2em;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(var(--arco-shadow), .08);
    text-align: center;
}
.arco-404__heading {
    margin: 0 0 .9em !important;
    color: #333;
    font-size: 1.2em !important;
    font-weight: 700 !important;
}
/* 検索欄：角丸 */
.arco-404__box .woocommerce-product-search,
.arco-404__box .search-form {
    position: relative;
    max-width: 440px;
    margin: 0 auto;
}
.arco-404__box .search-field {
    width: 100%;
    height: 48px;
    padding: 0 1.2em 0 2.8em !important;
    background: #fff !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 15px;
}
.arco-404__box .search-field:focus {
    outline: none;
    border-color: var(--arco-main) !important;
    box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18) !important;
}
.arco-404__box .woocommerce-product-search::before {
    position: absolute;
    left: 1.1em;
    top: 50%;
    transform: translateY(-50%);
    color: var(--arco-main) !important;
}
.arco-404__box .woocommerce-product-search button[type="submit"] {
    display: none;
}
.arco-404__sub {
    margin: 1.6em 0 .7em !important;
    color: #777;
    font-size: 13px;
    font-weight: 700;
}
.arco-404__cats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0 !important;
    list-style: none;
}
.arco-404__cats a {
    display: inline-block;
    padding: .45em 1.2em;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 999px;
    color: #444 !important;
    font-size: 14px;
    font-weight: 600;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.arco-404__cats a:hover {
    background: var(--arco-main);
    border-color: var(--arco-main);
    color: #fff !important;
}
.arco-404__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 1.8em;
}
.arco-404__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    min-height: 48px;
    padding: 0 1.6em;
    border-radius: 999px;
    background: #fff;
    border: 1.5px solid var(--arco-main);
    color: var(--arco-main-dark) !important;
    font-weight: 700;
    transition: background .2s ease, transform .15s ease;
}
.arco-404__btn:hover {
    background: var(--arco-tint);
}
.arco-404__btn--main {
    background: var(--arco-grad-btn);
    border: 0;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(var(--arco-shadow), .3);
}
.arco-404__btn--main:hover {
    background: var(--arco-grad-btn-hover);
    transform: translateY(-1px);
}
@media (max-width: 767px) {
    .arco-404__title {
        font-size: 1.3em !important;
    }
    .arco-404__box {
        padding: 1.4em 1.1em 1.6em;
    }
    .arco-404__btn {
        flex: 1 1 100%;
    }
}

/* ---------- お知らせの枠（WooCommerce の案内・完了・エラー）：サイトの色に ---------- */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    border-left-width: 4px !important;
    box-shadow: none !important;
    font-size: 14px;
}
/* 案内（例：検索で商品が見つからない） */
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
    background: var(--arco-tint) !important;
    border-color: var(--arco-border) var(--arco-border) var(--arco-border) var(--arco-main) !important;
    color: #555 !important;
}
.woocommerce-info::before {
    color: var(--arco-main) !important;
}
.woocommerce-info a {
    color: var(--arco-main-dark) !important;
    font-weight: 700;
}
/* 完了（例：カゴに追加しました） */
.woocommerce-message {
    background: #eef8f1 !important;
    border-color: #cfe9d8 #cfe9d8 #cfe9d8 #2e9e5b !important;
    color: #2d5a3d !important;
}
.woocommerce-message::before {
    color: #2e9e5b !important;
}
/* エラー */
.woocommerce-error {
    background: #fdf0ee !important;
    border-color: #f5d2cc #f5d2cc #f5d2cc #d9472b !important;
    color: #8a2a17 !important;
}
.woocommerce-error::before {
    color: #d9472b !important;
}
/* お知らせの中のボタン（「お買い物カゴを表示」など） */
.woocommerce-info .button,
.woocommerce-message .button,
.woocommerce-error .button {
    border-radius: 999px !important;
    background: #fff !important;
    border: 1.5px solid currentColor !important;
    color: inherit !important;
    font-weight: 700;
    box-shadow: none !important;
}
/* ブロック版（カート・購入手続き）のお知らせ */
.wc-block-components-notice-banner {
    border-radius: 12px !important;
    border-left-width: 4px !important;
}
.wc-block-components-notice-banner.is-info {
    background: var(--arco-tint) !important;
    border-color: var(--arco-main) !important;
}
.wc-block-components-notice-banner.is-info > svg {
    background: var(--arco-main) !important;
}

/* 送料の確認：「計算する」を押すまで結果を出さない（functions.php の「配送エリアの送料を確認」と連動） */
#product-shipping-calc.arco-calc-ready:not(.arco-calc-used) #calc_result {
    display: none;
}

/* ---------- 注文完了ページ（ありがとうございました） ---------- */
.woocommerce-order .woocommerce-thankyou-order-received {
    margin: 0 0 1.4em !important;
    padding: 1em 1.2em;
    background: #eef8f1;
    border: 1px solid #cfe9d8;
    border-left: 4px solid #2e9e5b;
    border-radius: 12px;
    color: #2d5a3d;
    font-weight: 700;
}
/* 注文番号・日付・合計など：白いカードに横並び */
.woocommerce-order ul.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin: 0 0 2em !important;
    padding: 6px !important;
    list-style: none;
    background: #fff !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(var(--arco-shadow), .08);
}
.woocommerce-order ul.woocommerce-order-overview::before,
.woocommerce-order ul.woocommerce-order-overview::after {
    display: none !important;    /* Storefront標準のギザギザ */
}
.woocommerce-order ul.woocommerce-order-overview li {
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 0 !important;
    color: #888;
    font-size: 12px !important;
    text-transform: none !important;
}
.woocommerce-order ul.woocommerce-order-overview li strong {
    display: block;
    margin-top: 4px;
    color: #333;
    font-size: 15px !important;
}
.woocommerce-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong {
    color: var(--arco-main-dark);
}
/* 見出し（注文詳細・請求先住所など）：左にオレンジの線 */
.woocommerce-order h2,
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
    margin: 1.4em 0 .8em !important;
    padding-left: 12px;
    border-left: 4px solid var(--arco-main);
    color: #333;
    font-size: 1.3em !important;
    font-weight: 700 !important;
    line-height: 1.3;
}
/* 注文内容の表：白いカード */
.woocommerce-order table.woocommerce-table--order-details {
    border: 1px solid var(--arco-border);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}
.woocommerce-order table.woocommerce-table--order-details thead th {
    background: var(--arco-tint) !important;
    color: #777;
    font-size: 12px;
    letter-spacing: .08em;
}
.woocommerce-order table.woocommerce-table--order-details td,
.woocommerce-order table.woocommerce-table--order-details th {
    background: #fff;
    border-top: 1px solid var(--arco-border-soft);
}
.woocommerce-order table.woocommerce-table--order-details .woocommerce-table__product-name a {
    color: #333 !important;
    font-weight: 700;
}
.woocommerce-order table.woocommerce-table--order-details tfoot tr:nth-last-child(2) td,
.woocommerce-order table.woocommerce-table--order-details tfoot tr:nth-last-child(2) th {
    background: var(--arco-tint);
}
/* 住所：白いカード */
.woocommerce-order .woocommerce-customer-details address {
    padding: 1em 1.2em !important;
    background: #fff;
    border: 1px solid var(--arco-border) !important;
    border-radius: 14px;
    line-height: 1.8;
}
.woocommerce-order a,
.woocommerce-order a:visited {
    color: var(--arco-main-dark);
    font-weight: 700;
}

/* ---------- 商品ページの購入バー（下にスクロールすると出る：functions.php の「購入バー」と連動） ---------- */
/* 画面の上 → 画面の下に。出入りは下からスライド */
.storefront-sticky-add-to-cart {
    top: auto !important;
    bottom: 0 !important;
    padding: 0 !important;
    background: rgba(255, 255, 255, .97) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 -6px 20px rgba(var(--arco-shadow), .16) !important;
    transform: translate3d(0, 110%, 0) !important;
    animation: none !important;
    transition: transform .3s ease !important;
}
.storefront-sticky-add-to-cart::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: var(--arco-grad);
}
.storefront-sticky-add-to-cart--slideInDown {
    transform: none !important;
}
.storefront-sticky-add-to-cart--slideOutUp {
    transform: translate3d(0, 110%, 0) !important;
}
.storefront-sticky-add-to-cart__content {
    display: flex !important;
    align-items: center;
    gap: 14px;
    padding: 12px 0 !important;
}
.storefront-sticky-add-to-cart__content img {
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid var(--arco-border-soft);
    box-shadow: none !important;
}
.storefront-sticky-add-to-cart__content-product-info {
    flex: 1;
    min-width: 0;
    padding: 0 !important;
    color: #333 !important;
}
/* 「現在こちらを表示しています:」の文字は出さず、商品名だけ */
.storefront-sticky-add-to-cart__content-title {
    display: block;
    overflow: hidden;
    font-size: 0 !important;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.storefront-sticky-add-to-cart__content-title strong {
    color: #333;
    font-size: 15px;
    font-weight: 700;
}
.storefront-sticky-add-to-cart__content-price {
    display: block;
    margin-top: 2px;
    color: #888;
    font-size: 12px;
    opacity: 1 !important;
}
.storefront-sticky-add-to-cart__content-price .amount {
    color: var(--arco-main-dark);
    font-size: 18px;
    font-weight: 800;
    margin-right: .25em;
}
.storefront-sticky-add-to-cart__content .storefront-sticky-add-to-cart__content-button {
    flex: none;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 1.8em !important;
    display: inline-flex !important;
    align-items: center;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--arco-grad-btn) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(var(--arco-shadow), .3);
    transition: background .2s ease, transform .15s ease;
}
.storefront-sticky-add-to-cart__content .storefront-sticky-add-to-cart__content-button:hover {
    background: var(--arco-grad-btn-hover) !important;
    transform: translateY(-1px);
}
/* バーで隠れないよう、商品ページの最後に余白（パソコン幅） */
@media (min-width: 768px) {
    .single-product .site-footer {
        padding-bottom: 76px !important;
    }
}

/* 定期便の約束ごと（お届け・金額・契約期間・解約）：白い小さなカード */
.single-product .summary .arco-sub-terms {
    margin: .4em 0 1em !important;
    padding: 10px 14px !important;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 12px;
    color: #555 !important;
    font-size: 12.5px !important;
    line-height: 1.7 !important;
}
.single-product .summary .arco-sub-terms li {
    margin: 0 !important;
    padding: 5px 0 !important;
    border-bottom: 1px dashed var(--arco-border-soft);
}
.single-product .summary .arco-sub-terms li:last-child {
    border-bottom: 0;
}
.single-product .summary .arco-sub-terms strong {
    display: inline-block;
    min-width: 6.5em;
    margin-right: .4em;
    color: var(--arco-main-dark) !important;
    font-weight: 700;
}
.single-product .summary .arco-sub-note a {
    color: var(--arco-main-dark) !important;
    font-weight: 700;
}

/* フッターのカテゴリボタン：数が変わっても並びが崩れないように（タブレット幅） */
@media (min-width: 560px) and (max-width: 900px) {
    .site-footer .footer-widget-2 .footer-link-list {
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    }
}

/* ==========================================================
   スマホ（767px以下）：商品一覧を2列に
   トップの商品ブロック／カテゴリー・商品一覧／関連商品／カゴが空のときの「新登場」
   ========================================================== */
@media (max-width: 767px) {
    .wc-block-product-template,
    .wc-block-product-template.wc-block-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    ul.products,
    .site-main ul.products,
    .related.products ul.products,
    .upsells.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        margin: 0 0 1.5em !important;
    }
    ul.products::before,
    ul.products::after {
        display: none !important;
    }
    ul.products li.product,
    .site-main ul.products li.product {
        width: auto !important;
        margin: 0 !important;
        float: none !important;
    }
    /* カードの中：余白・文字・ボタンを小さめに */
    .wc-block-product-template .wc-block-product,
    ul.products li.product {
        padding: 8px 8px 10px !important;
        border-radius: 10px;
    }
    .wc-block-product-template .wc-block-components-product-image,
    ul.products li.product .woocommerce-loop-product__link img {
        margin-bottom: 8px !important;
    }
    .wc-block-product-template .wp-block-post-title,
    .wc-block-product-template .wp-block-post-title a,
    ul.products li.product .woocommerce-loop-product__title {
        margin: 0 0 6px !important;
        font-size: 12.5px !important;
        line-height: 1.5 !important;
        text-align: left;
        /* 長い商品名は3行まで */
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .wc-block-product-template .wp-block-woocommerce-product-price,
    ul.products li.product .price {
        margin-bottom: 8px !important;
        font-size: 11px !important;
        text-align: left !important;
        justify-content: flex-start !important;
    }
    .wc-block-product-template .wp-block-woocommerce-product-price .amount,
    ul.products li.product .price .amount {
        color: var(--arco-main-dark);
        font-size: 15px;
        font-weight: 800;
    }
    .wc-block-product-template .wc-block-components-product-button__button,
    ul.products li.product .button {
        min-height: 38px !important;
        padding: 4px 6px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
        white-space: normal;
        letter-spacing: 0;
    }
    ul.products li.product .added_to_cart {
        font-size: 11px;
    }
    /* ボタンの文字を上下中央に（従来版の一覧） */
    ul.products li.product .button {
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    /* ブロック版：ボタンの下の余白（標準の約20px）を消す */
    .wc-block-product-template .wc-block-product .wp-block-button,
    .wc-block-product-template .wc-block-product .wc-block-components-product-button {
        margin-bottom: 0 !important;
    }
    /* カード同士の間（標準の下余白）を詰める */
    .wc-block-product-template > li,
    ul.products li.product {
        margin-bottom: 0 !important;
    }
}

/* ---------- トップのセクション見出し（帯の見出しと同じく小さな英字ラベル付き）・もっと見る ---------- */
.entry-content .pickup-heading,
.entry-content .category-heading,
.wp-block-woocommerce-product-collection h2.wp-block-heading.category-heading {
    line-height: 1.25 !important;
}
.entry-content .pickup-heading::before,
.entry-content .category-heading::before {
    display: block;
    margin-bottom: 4px;
    color: var(--arco-main);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .28em;
    line-height: 1.2;
}
.entry-content .pickup-heading::before { content: "PICK UP"; }
.entry-content .category-heading::before { content: "CATEGORY"; }
/* 「おすすめ商品」のすぐ下の「おすすめの商品」は重複するので出さない */
.entry-content .pickup-heading + .wp-block-woocommerce-product-collection > h2.wp-block-heading:not(.category-heading) {
    display: none !important;
}
/* 〇〇の商品をすべて見る */
.arco-more {
    margin: 1.2em 0 0 !important;
    text-align: center;
}
.arco-more__link,
.arco-more__link:visited {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    min-height: 46px;
    padding: 0 1.8em;
    background: #fff;
    border: 1.5px solid var(--arco-main);
    border-radius: 999px;
    color: var(--arco-main-dark) !important;
    font-size: 15px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease, transform .15s ease;
}
.arco-more__link::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}
.arco-more__link:hover {
    background: var(--arco-main);
    color: #fff !important;
    transform: translateY(-1px);
}
@media (max-width: 767px) {
    .arco-more__link {
        width: 100%;
        justify-content: center;
        font-size: 14px;
    }
}

/* フッターのARCOロゴの上に「運営会社」（ショップ名 Niche's Direct との関係が分かるように） */
.site-footer .footer-company-logo::before {
    content: "運営会社";
    display: inline-block;
    margin-bottom: 8px;
    padding: .15em .9em;
    border: 1px solid var(--arco-border);
    border-radius: 999px;
    background: #fff;
    color: #777;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
}
.site-footer .footer-company-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
@media (max-width: 900px) {
    .site-footer .footer-company-logo {
        align-items: center;
    }
}

/* ---------- Niche's Directについて：ショップの説明（3つのカード）と運営会社 ---------- */
.arco-info-about .entry-content .arco-about-intro {
    max-width: 36em;
    margin: 0 auto 2.2em;
    color: #555;
    line-height: 1.9;
}
.arco-info-about .entry-content .arco-about-cards {
    margin: 0 0 2.6em;
    text-align: left;
}
/* Storefront（従来テーマ）ではグループの中にもう1枚の入れ物が入るため、そちらを3列に */
.arco-info-about .entry-content .arco-about-cards > .wp-block-group__inner-container,
.arco-info-about .entry-content .arco-about-cards:not(:has(> .wp-block-group__inner-container)) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.arco-info-about .entry-content .arco-about-card {
    margin: 0 !important;
    padding: 18px 18px 16px;
    background: var(--arco-tint);
    border: 1px solid var(--arco-border);
    border-radius: 14px;
}
.arco-info-about .entry-content .arco-about-card h3 {
    margin: 0 0 .5em !important;
    padding-left: 10px;
    border-left: 3px solid var(--arco-main);
    color: #333;
    font-size: 1.05em !important;
    font-weight: 700 !important;
    line-height: 1.4;
}
.arco-info-about .entry-content .arco-about-card p {
    margin: 0 !important;
    color: #555;
    font-size: 14px;
    line-height: 1.8;
}
.arco-info-about .entry-content .arco-about-company {
    padding-top: 2em;
    border-top: 1px solid var(--arco-border-soft);
}
.arco-info-about .entry-content .arco-about-company h2 {
    margin: 0 0 1em !important;
    color: var(--arco-main);
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .3em;
}
.arco-info-about .entry-content .arco-about-company .arco-about-message {
    color: #333;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.8;
}
.arco-info-about .entry-content .arco-about-company p {
    color: #555;
    line-height: 1.9;
}
.arco-info-about .entry-content .arco-about-company .arco-about-info {
    display: inline-block;
    margin-top: .6em;
    padding: .9em 1.4em;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 12px;
    color: #555;
    font-size: 14px;
    line-height: 1.8;
}
@media (max-width: 767px) {
    .arco-info-about .entry-content .arco-about-cards > .wp-block-group__inner-container,
    .arco-info-about .entry-content .arco-about-cards:not(:has(> .wp-block-group__inner-container)) {
        grid-template-columns: 1fr;
    }
    .arco-info-about .entry-content {
        padding: 2em 1.1em !important;
    }
}

/* ==========================================================
   フォーカス枠（クリック・タップしたときの枠）
   ・Storefront 標準の紫の四角い枠（#7f54b3）をやめる
   ・マウスのクリックやタップでは枠を出さない
   ・キーボード操作（Tabキー）のときだけ、サイトのオレンジで、角丸に沿った枠を出す（使いやすさのため）
   ========================================================== */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
summary:focus,
[tabindex]:focus,
.button:focus,
.button.alt:focus,
.added_to_cart:focus,
.wc-forward:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
    outline-color: var(--arco-main) !important;
}
:focus:not(:focus-visible) {
    outline: none !important;
}
:focus-visible {
    outline: 2px solid var(--arco-main) !important;
    outline-offset: 2px !important;
}

/* 入力欄・選択欄：枠の代わりに、オレンジの縁取り（全体共通） */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: var(--arco-main) !important;
    box-shadow: 0 0 0 3px rgba(var(--arco-shadow), .18) !important;
}
/* チェックボックス・ラジオボタン：キーボード操作のときだけ丸い／角丸の枠 */
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
    outline: 2px solid var(--arco-main) !important;
    outline-offset: 2px !important;
}

/* 商品カード：商品名のリンクにフォーカスしたら、カード全体を枠で囲む（商品名だけの小さな枠にしない） */
.wc-block-product-template .wp-block-post-title a:focus-visible,
ul.products li.product .woocommerce-loop-product__link:focus-visible {
    outline: none !important;
}
.wc-block-product-template .wc-block-product:has(.wp-block-post-title a:focus-visible),
ul.products li.product:has(.woocommerce-loop-product__link:focus-visible) {
    outline: 2px solid var(--arco-main);
    outline-offset: 2px;
    border-color: var(--arco-border);
}

/* メニューの項目：文字のまわりに角丸の枠 */
.main-navigation ul.menu > li > a:focus-visible,
.main-navigation ul.nav-menu > li > a:focus-visible,
#masthead .handheld-navigation ul.menu li a:focus-visible {
    outline-offset: -2px !important;
    border-radius: 10px;
}
/* 画面下のバー（ホーム・検索・カゴ）：ボタンの内側に枠 */
.storefront-handheld-footer-bar ul li > a:focus-visible {
    outline-offset: -4px !important;
    border-radius: 12px;
}
/* ブロック版（カート・購入手続き）のボタン：標準の白い内側の線を消して、オレンジの枠だけに */
.wc-block-components-button:not(.is-link):focus {
    box-shadow: none !important;
}
.wc-block-components-button:not(.is-link):focus-visible {
    outline: 2px solid var(--arco-main) !important;
    outline-offset: 2px !important;
}

/* 商品ブロック：カゴに入れた後にボタンの下に出る「お買い物カゴを表示」は出さない
   （出るとカードが伸びて、隣の商品とボタンの高さがずれるため。カゴはヘッダー・画面下のバーから開ける） */
.wc-block-components-product-button > span:has(> .added_to_cart),
.wc-block-components-product-button .added_to_cart,
.wc-block-product-template .added_to_cart {
    display: none !important;
}

/* ---------- カゴに入っている商品のボタン（追加する（カゴに◯個））：白地にオレンジの枠で見分けやすく ---------- */
.wc-block-product-template .wc-block-components-product-button__button.arco-in-cart:not(.arco-added),
.wc-block-components-product-button__button.arco-in-cart:not(.arco-added) {
    background: #fff !important;
    color: var(--arco-main-dark) !important;
    box-shadow: inset 0 0 0 2px var(--arco-main) !important;
}
.wc-block-product-template .wc-block-product:hover .wc-block-components-product-button__button.arco-in-cart:not(.arco-added),
.wc-block-components-product-button__button.arco-in-cart:not(.arco-added):hover {
    background: var(--arco-tint) !important;
    color: var(--arco-main-dark) !important;
}

/* ---------- ボタンの文字を1行に（2行になって太く見えないように） ---------- */
.wc-block-components-product-button__button,
ul.products li.product .button {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (min-width: 768px) and (max-width: 1199px) {
    .wc-block-components-product-button__button,
    ul.products li.product .button {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13px !important;
        letter-spacing: 0 !important;
    }
}
/* 783〜1199px：4列だとカードが狭すぎるので3列に（トップの商品ブロック） */
@media (min-width: 783px) and (max-width: 1199px) {
    .wc-block-product-template,
    .wc-block-product-template.wc-block-product-template {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
/* 768〜1199px：カテゴリー・商品一覧・関連商品も3列に、1200px以上は4列 */
@media (min-width: 768px) {
    .site-main ul.products,
    .related.products ul.products,
    .upsells.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 1.5em !important;
    }
    .site-main ul.products::before,
    .site-main ul.products::after {
        display: none !important;
    }
    .site-main ul.products li.product {
        width: auto !important;
        margin: 0 !important;
        float: none !important;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .site-main ul.products,
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
/* スマホ（2列）では、さらに文字を小さめに */
@media (max-width: 767px) {
    .wc-block-components-product-button__button,
    ul.products li.product .button {
        white-space: nowrap;
        font-size: 11.5px !important;
        letter-spacing: -.02em !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

/* スマホ：ボタンの文字は1行（前の「スマホの商品一覧を2列に」の折り返し指定を上書き） */
@media (max-width: 767px) {
    .wc-block-product-template .wc-block-components-product-button__button,
    ul.products li.product .button {
        white-space: nowrap !important;
    }
}

/* ヘッダーのカゴの一覧：商品が多いときは一覧の中だけスクロール（小計・ボタンに重ならないように） */
@media (min-width: 768px) {
    .site-header-cart .widget_shopping_cart ul.product_list_widget {
        max-height: min(320px, calc(100vh - 330px)) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: var(--arco-border) transparent;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget::-webkit-scrollbar {
        width: 6px;
    }
    .site-header-cart .widget_shopping_cart ul.product_list_widget::-webkit-scrollbar-thumb {
        background: var(--arco-border);
        border-radius: 3px;
    }
    /* 一覧の下に続きがあることが分かるよう、小計の上に薄い影 */
    .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total {
        position: relative;
        box-shadow: 0 -8px 12px -10px rgba(var(--arco-shadow), .35);
    }
}

/* 文の区切りで改行（単語の途中で折り返さない） */
.arco-nobr {
    display: inline-block;
}

/* ---------- 商品詳細の表（inc/arco-product-specs.php） ---------- */
.arco-spec-table {
    width: 100%;
    margin: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--arco-border);
    border-radius: 12px;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.8;
}
.arco-spec-table th,
.arco-spec-table td {
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--arco-border-soft);
    vertical-align: top;
    text-align: left;
}
.arco-spec-table tr:last-child th,
.arco-spec-table tr:last-child td {
    border-bottom: 0;
}
.arco-spec-table th {
    width: 9em;
    background: var(--arco-tint) !important;
    color: var(--arco-main-dark);
    font-weight: 700;
    white-space: nowrap;
}
.arco-spec-table td {
    background: #fff !important;
    color: #444;
}
@media (max-width: 767px) {
    .arco-spec-table th,
    .arco-spec-table td {
        display: block;
        width: auto;
        padding: 8px 12px !important;
    }
    .arco-spec-table th {
        border-bottom: 0;
        padding-bottom: 4px !important;
    }
}

/* ---------- お問い合わせページ（inc/arco-contact.php） ---------- */
.arco-info-contact .entry-title::before { content: "CONTACT"; }
.arco-info-contact .entry-content {
    max-width: 760px;
}
/* よくある質問（開閉式） */
.arco-info-contact .entry-content .arco-faq-title,
.arco-info-contact .entry-content .arco-form-title {
    margin: 0 0 .9em !important;
    padding-left: 12px;
    border-left: 4px solid var(--arco-main);
    color: #333;
    font-size: 1.3em !important;
    font-weight: 700 !important;
    line-height: 1.3;
}
.arco-info-contact .entry-content .arco-form-title {
    margin-top: 2.2em !important;
}
.arco-info-contact .entry-content details.wp-block-details {
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 12px;
    overflow: hidden;
}
.arco-info-contact .entry-content details.wp-block-details summary {
    position: relative;
    display: block;
    padding: 14px 44px 14px 46px;
    color: #333;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    transition: background .15s ease;
}
.arco-info-contact .entry-content details.wp-block-details summary::-webkit-details-marker {
    display: none;
}
.arco-info-contact .entry-content details.wp-block-details summary::before {
    content: "Q";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    border-radius: 50%;
    background: var(--arco-main);
    color: #fff;
    font-size: 12px;
    line-height: 22px;
    text-align: center;
}
.arco-info-contact .entry-content details.wp-block-details summary::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -6px;
    border-right: 2px solid var(--arco-main);
    border-bottom: 2px solid var(--arco-main);
    transform: rotate(45deg);
    transition: transform .2s ease;
}
.arco-info-contact .entry-content details.wp-block-details[open] summary::after {
    margin-top: -2px;
    transform: rotate(-135deg);
}
.arco-info-contact .entry-content details.wp-block-details summary:hover {
    background: var(--arco-tint);
}
.arco-info-contact .entry-content details.wp-block-details > *:not(summary) {
    margin: 0 !important;
    padding: 0 18px 14px 46px;
    color: #555;
    font-size: 14px;
    line-height: 1.8;
}
/* フォーム */
.arco-contact__form {
    padding: 22px 22px 18px;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(var(--arco-shadow), .08);
}
.arco-contact__row {
    margin: 0 0 14px !important;
}
.arco-contact__row label {
    display: block;
    margin-bottom: 6px;
    color: #333;
    font-size: 14px;
    font-weight: 700;
}
.arco-contact__req,
.arco-contact__opt {
    display: inline-block;
    margin-left: 8px;
    padding: 0 7px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    vertical-align: 1px;
}
.arco-contact__req {
    background: var(--arco-main);
    color: #fff;
}
.arco-contact__opt {
    background: #eee;
    color: #777;
}
.arco-contact__form input[type="text"],
.arco-contact__form input[type="email"],
.arco-contact__form input[type="tel"],
.arco-contact__form select,
.arco-contact__form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 14px !important;
    background: #fff !important;
    border: 1px solid var(--arco-border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 16px;   /* iPhoneで拡大されないよう16px */
}
.arco-contact__form input,
.arco-contact__form select {
    min-height: 46px;
}
.arco-contact__cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 14px;
}
.arco-contact__agree {
    margin: 4px 0 16px !important;
    font-size: 14px;
}
.arco-contact__agree input {
    margin-right: 6px;
    accent-color: var(--arco-main);
    transform: scale(1.15);
}
.arco-contact__agree a {
    color: var(--arco-main-dark) !important;
    font-weight: 700;
    text-decoration: underline !important;
}
.arco-contact__submit {
    margin: 0 0 10px !important;
    text-align: center;
}
.arco-contact__submit .button {
    min-width: 240px;
    min-height: 52px;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--arco-grad-btn) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    box-shadow: 0 6px 16px rgba(var(--arco-shadow), .3) !important;
}
.arco-contact__submit .button:hover {
    background: var(--arco-grad-btn-hover) !important;
}
.arco-contact__note {
    margin: 0 !important;
    color: #888;
    font-size: 12px;
    text-align: center;
}
/* ボット用のわな（画面には出さない） */
.arco-contact__trap {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.arco-contact__done {
    padding: 26px 22px;
    background: #eef8f1;
    border: 1px solid #cfe9d8;
    border-radius: 16px;
    color: #2d5a3d;
    text-align: center;
}
.arco-contact__done-title {
    margin: 0 0 .5em !important;
    font-size: 1.2em;
    font-weight: 700;
}
.arco-contact__done p {
    margin: 0;
    line-height: 1.8;
}
@media (max-width: 767px) {
    .arco-contact__cols {
        grid-template-columns: 1fr;
    }
    .arco-contact__form {
        padding: 16px 14px 14px;
    }
    .arco-contact__submit .button {
        width: 100%;
    }
}
.arco-contact__agree label {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    cursor: pointer;
}
.arco-contact__agree input[type="checkbox"] {
    margin: 0 !important;
    width: 18px;
    height: 18px;
    flex: none;
}
.arco-contact__agree {
    text-align: center;
}

/* 送信後に戻ったとき、メッセージが固定ヘッダーに隠れないように */
#arco-contact {
    scroll-margin-top: 120px;
}

/* ---------- 商品ページ下部：説明・商品仕様（縦並び。inc/arco-product-specs.php） ---------- */
.single-product .arco-product-sections {
    clear: both;
    padding-top: 1.2em;
}
.single-product .arco-product-section {
    margin: 0 0 2.2em;
}
.single-product .arco-product-section__title {
    margin: 0 0 .8em !important;
    padding-left: 12px;
    border-left: 4px solid var(--arco-main);
    color: #333;
    font-size: 1.4em !important;
    font-weight: 700 !important;
    line-height: 1.3;
}
/* 商品説明：白いカード */
.single-product .arco-product-section--description .arco-product-section__body {
    padding: 1.6em 1.8em;
    background: #fff;
    border: 1px solid var(--arco-border);
    border-radius: 16px;
    color: #444;
    line-height: 1.9;
}
.single-product .arco-product-section--description .arco-product-section__body > :last-child {
    margin-bottom: 0;
}
.single-product .arco-product-section--description .arco-product-section__body img {
    border-radius: 10px;
}
/* 商品説明の文字：商品ごとに見出しの大きさがばらばらにならないよう統一する
   本文 15px／見出し（h1〜h4）は本文より少し大きい太字。どの商品も同じ見た目になる */
.single-product .arco-product-section--description .arco-product-section__body {
    font-size: 15px;
    line-height: 1.9;
}
.single-product .arco-product-section--description .arco-product-section__body :is(p, li, td, th, span, b, strong, a) {
    font-size: inherit;
}
.single-product .arco-product-section--description .arco-product-section__body :is(h1, h2, h3, h4, h5, h6) {
    margin: 1.6em 0 .6em;
    padding: 0;
    color: #333;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.5;
    letter-spacing: 0;
}
.single-product .arco-product-section--description .arco-product-section__body :is(h1, h2) {
    padding-bottom: .35em;
    border-bottom: 2px solid var(--arco-border);
}
.single-product .arco-product-section--description .arco-product-section__body :is(h3, h4, h5, h6) {
    font-size: 16px !important;
}
.single-product .arco-product-section--description .arco-product-section__body > :first-child {
    margin-top: 0;
}
.single-product .arco-product-section--description .arco-product-section__body p {
    margin: 0 0 1em;
}
.single-product .arco-product-section--description .arco-product-section__body :is(ul, ol) {
    margin: 0 0 1em 1.4em;
}
@media (max-width: 767px) {
    .single-product .arco-product-section--description .arco-product-section__body {
        font-size: 14.5px;
    }
    .single-product .arco-product-section--description .arco-product-section__body :is(h1, h2) {
        font-size: 16px !important;
    }
    .single-product .arco-product-section--description .arco-product-section__body :is(h3, h4, h5, h6) {
        font-size: 15px !important;
    }
}
/* 商品説明の後の画像（フォルダの画像を縦1列で並べる。スマホは横幅いっぱい、パソコンは幅を抑えて中央） */
.single-product .arco-desc-gallery {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-top: 1.6em;
}
.single-product .arco-desc-gallery:first-child {
    margin-top: 0;
}
.single-product .arco-desc-gallery__img {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    border-radius: 6px !important;
}
@media (max-width: 767px) {
    .single-product .arco-desc-gallery {
        gap: 4px;
    }
    .single-product .arco-desc-gallery__img {
        max-width: none;
    }
}
/* 商品仕様：表だけ（表自体に枠があるのでカードにしない） */
.single-product .arco-product-section--arco_specs .arco-product-section__body {
    padding: 0;
}
@media (max-width: 767px) {
    .single-product .arco-product-section__title {
        font-size: 1.2em !important;
    }
    .single-product .arco-product-section--description .arco-product-section__body {
        padding: 1.1em 1.1em;
    }
}

/* ---------- 容量・香り違いの商品（inc/arco-product-group.php） ---------- */
/* 商品ページ：切り替えボタン */
.arco-group-switch {
    margin: 0 0 1.4em;
}
.arco-group-switch__label {
    margin-bottom: .45em;
    color: #555;
    font-size: 14px;
    font-weight: 700;
}
.arco-group-switch__opts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.arco-group-switch__opt {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    padding: .55em 1em;
    border: 1.5px solid var(--arco-border);
    border-radius: 10px;
    background: #fff;
    color: #444 !important;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
    text-decoration: none !important;
    transition: border-color .15s, background-color .15s;
}
a.arco-group-switch__opt:hover {
    border-color: var(--arco-main);
    background: var(--arco-tint);
}
.arco-group-switch__opt.is-current {
    border: 2px solid var(--arco-main);
    background: var(--arco-tint);
    color: var(--arco-main-dark) !important;
    font-weight: 700;
}
.arco-group-switch__price {
    margin-top: .15em;
    color: #888;
    font-size: 12px;
    font-weight: 400;
}
.arco-group-switch__opt.is-current .arco-group-switch__price {
    color: var(--arco-main-dark);
}
/* 一覧のカード：「〜」と「容量2種」 */
.arco-group-from {
    margin-left: 1px;
    font-size: .85em;
}
.arco-group-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px;
    border: 1px solid var(--arco-border);
    border-radius: 999px;
    background: var(--arco-tint);
    color: var(--arco-main-dark);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.6;
    vertical-align: middle;
    white-space: nowrap;
}

/* ---------- 一覧の商品画像：トップの商品ブロックと同じく正方形・中央で表示 ----------
   横長・縦長の写真でもカードの高さがそろう（はみ出した部分は上下・左右を切って中央を見せる） */
ul.products li.product .woocommerce-loop-product__link img,
ul.products li.product > a > img,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    display: block;
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

/* ---------- Cloudflare Turnstile（inc/arco-turnstile.php） ---------- */
.arco-contact .arco-turnstile {
    display: flex;
    justify-content: center;
    margin: 1.2em 0 .4em;
    min-height: 65px;
}
.woocommerce-form-login .arco-turnstile {
    margin: 0 0 1em;
    min-height: 65px;
}
