/*
Template: swell
Theme Name: SWELL Child
Theme URI: https://swell-theme.com/
Description: SWELL Child Theme
Author: LOOS, Inc.
Author URI: https://swell-theme.com/
Version: 1.0
*/

/* 店舗一覧（3カラムカード型） */
.p-postList--shop {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    /* 3カラムの間の隙間 */
}

/* スマホ表示 */
@media screen and (max-width: 599px) {
    .p-postList--shop {
        grid-template-columns: 1fr;
        /* 1カラム */
    }
}

/* フィルターボタンのアクティブスタイル */
.p-shopFilter__item .c-btn.-active {
    background-color: #333;
    color: #fff;
}

/* カード内のメタ情報調整 */
.p-postList--shop .p-postList__inner {
    padding: 1.2em;
}

.p-postList--shop .p-postList__title {
    font-size: 16px;
    line-height: 1.4;
}

/* 
 * 1. カラーパレットの定義 (CSS変数で上書き) 
 */
:root {
    --color_main: #2E7D32;
    /* メインカラー (落ち着いた緑) */
    --color_accent: #FFA000;
    /* アクセントカラー (親しみやすいオレンジ) */
    --color_bg: #F5F7F5;
    /* ベース背景 (薄緑がかった白) */
}

body {
    background-color: var(--color_bg);
}

/* SWELLボタンの上書き */
.c-btn.-accent,
.c-btn.-accent:hover,
.c-headBtn.-accent {
    background-color: var(--color_accent);
    color: #fff;
}

/* 
 * 2. ヘッダー・メインビジュアル 
 */

/* ヘッダー予約ボタン */
.head-reservation-btn {
    display: inline-block;
    background-color: var(--color_accent);
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 99px;
    font-weight: bold;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s, box-shadow 0.2s;
}

.head-reservation-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

/* メインビジュアル: プロフェッショナル調整 */
.p-mainVisual__text {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    font-weight: bold;
}

/* SWELLスライダーのボタン丸み強制 */
.p-mainVisual .c-btn {
    border-radius: 99px !important;
}

/* 
 * 3. 店舗カードのデザイン調整 (archive-shop.php用)
 */
.p-postList--shop .p-postList__item {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    /* 柔らかくリッチな影 */
    border: 1px solid #f0f0f0;
    border-radius: 16px;
    /* 角丸 16px */
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    background-color: #fff;
}

.p-postList--shop .p-postList__item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* バッジスタイル */
.shop-feature-badge {
    display: inline-block;
    background-color: #e8f5e9;
    /* 薄緑 */
    color: #2E7D32;
    /* 濃緑 */
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 99px;
    /* 丸薬のような形状 */
    margin-right: 5px;
    margin-bottom: 5px;
    font-weight: bold;
}

/* 
 * 4. 店舗個別ページ (Single)
 */
/* ストライプテーブル */
.c-table.-stripe th {
    background-color: #f9f9f9;
    color: #333;
    font-weight: bold;
    border-bottom: 1px solid #eee;
}

.c-table.-stripe td {
    border-bottom: 1px solid #eee;
}

.c-table.-stripe tr:last-child th,
.c-table.-stripe tr:last-child td {
    border-bottom: none;
}

/* 
 * 5. トップページ専用スタイル
 */
.p-topGuide__link:hover {
    opacity: 0.8 !important;
}

/* セクションタイトルの英語表記 */
.c-secTitle__en {
    display: block;
    font-size: 0.5em;
    color: var(--color_accent);
    letter-spacing: 0.1em;
    margin-bottom: 5px;
    font-family: sans-serif;
}