.search-container {
    max-width: calc(1100px + 40px + 40px);
    padding: 0 40px;
    margin: 0 auto;
}

.category-main-wrap .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap,.wte-related-trips .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap {
    padding: 0 !important;
    border-radius: 8px;
}

.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-fig>a, .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .wpte-gallery-wrapper, .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .trip-map-wrapper .trip-map {
    border-radius: 0px !important;
}

.wp-travel-toolbar .wpte-trip-search-input input[type=search] {
    padding: 5px 10px;
    border-radius: 8px;
    border: 1px solid #e5e0d8;
    height: 44px;
    width: 100%;
    font-size: 16px;
    background: white;
    background-size: 20px;
    transition: all .3s ease;
    display: flex;
    flex: 1;
    align-items: center;
    gap: 10px;
}

input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=date], select, textarea {
    border: 0;
}

.wp-travel-toolbar .wte-ordering span {
    font-weight: 400;
    font-size: 13px;
}

.wte-view-modes ul li[data-mode=grid] span,
.wte-view-modes ul li[data-mode=list] span {
    background-size: 1.25em 1.25em;
    background-size: contain;
}

.wte-view-modes ul li {
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    width: 44px !important;
    height: 44px !important;
}

.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap {
    column-gap: 0 !important;
}

.category-trips-single .category-trip-content-wrap, .category-trips-single .category-trip-detail-wrap {
    display: block;
}

.wte-view-modes ul li.active span {
    color: #ffffff !important;
}

.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-content-wrap {
    padding: 20px !important;
}

.advanced-search-field .filter-section-content ul li input[type=checkbox] {
    background-color: white;
}

.advanced-search-field .filter-section-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap {
    box-shadow: unset !important;
    border: 1px solid rgb(229 224 216 / var(--tw-border-opacity, 1));
}

/* --- List表示のとき（左側の上下を角丸に） --- */
@media (min-width: 768px) {
    .category-trip-fig.is-list {
        border-radius: 8px 0 0 8px; /* 上左・上右・下右・下左 */
    }
}

/* --- Grid表示のとき（上側の左右を角丸に） --- */
.category-trip-fig {
    border-radius: 8px 8px 0 0; /* 上左・上右・下右・下左 */
}


.category-trips-single-inner-wrap .category-trip-prc-title-wrap .category-trip-title, .category-trips-single .category-trips-single-inner-wrap .category-trip-prc-title-wrap .category-trip-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 15px !important;
}

.category-trips-single-inner-wrap .category-trip-desti, .category-trips-single .category-trips-single-inner-wrap .category-trip-desti {
    flex-direction: row;
}

/* trip-search-result > 各カードの開催地・難易度の文字 */
.category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-], .category-trips-single .category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-] {
    font-size: 13px !important;
}
.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-] span {
    font-weight: 600 !important;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

/* trip-search-result > 各カードの期間の文字 */
.category-trips-single-inner-wrap .wpte-trip-duration .wpte-trip-duration-value, .category-trips-single .category-trips-single-inner-wrap .wpte-trip-duration .wpte-trip-duration-value {
    font-size: 13px !important;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1)) !important;
}

/* trip-search-result > 各カードの開催地・期間・難易度 */
.category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-], .category-trips-single .category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-] {
    width: fit-content !important;
}
.category-trips-single-inner-wrap .category-trip-desti, .category-trips-single .category-trips-single-inner-wrap .category-trip-desti {
    justify-content: flex-start !important;
}
.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-desti, .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-budget {
    gap: 20px !important;
}

/* 相手の長いセレクタをコピーして、横幅の固定を解除する */
@media (min-width: 768px) {
    .category-list .category-trips-single .category-trips-single-inner-wrap .category-trip-fig {
        flex: 0 0 280px !important;
        max-width: 280px !important;
        /* ここを具体的な数値に変更！ */
        height: 200px !important; 
        aspect-ratio: auto !important; 
        min-height: 200px !important; /* 念のため追加 */
    }
}
/* figure 直下の a タグを親の高さに合わせる */
.category-list .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-fig > a {
    padding-top: 0 !important;   /* これが一番重要！ */
    height: 100% !important;    /* あなたが設定したい高さ */
    display: block !important;
}
/* その中にある img タグを強制的に 200px (親の100%) にする */
.category-trip-fig img {
    width: 100% !important;
    height: 100% !important;
    /* max-height: 200px !important; ここで物理的に止める */
    object-fit: cover !important;
    aspect-ratio: auto !important; /* 正方形の呪いを解く */
}
@media (min-width: 768px) {
    .category-list .category-trips-single .category-trips-single-inner-wrap .category-trip-content-wrap {
        /* 100% から (画像幅 280px + 隙間 16px) を引く */
        flex: 0 0 calc(100% - 296px) !important;
        max-width: calc(100% - 296px) !important;
    }
}

.difficulty-title {
    margin-right: 5px;
}

/* 難易度の星-色付き */
.star-active {
    color: rgb(251 191 36 / var(--tw-text-opacity, 1)) !important;
}

/* 難易度の星-色なし */
.star-inactive {
    color: rgb(229 231 235 / var(--tw-text-opacity, 1)) !important;
}

/* 期間のflex設定 */
.wpte-trip-duration-value {
    display: flex !important;
}

/* 期間のアイコンの横幅・高さのリセット */
.category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-] svg, .category-trips-single .category-trips-single-inner-wrap .category-trip-desti>[class*=category-trip-] svg {
    width: 1rem !important;
    height: 1rem !important;
}

.wpte-trip-duration-value i {
    margin-right: 8px;
}

.category-grid .category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-prc-wrap {
    overflow: unset !important;
    height: auto !important;
}

.category-trips-single.wpte_new-layout .category-trips-single-inner-wrap .category-trip-content-wrap {
    margin: 0 !important;
}

.wp-travel-toolbar .wpte-trip-search-input input[type=search] {
    /* 既存のスタイルを活かしつつ修正 */
    border: 1px solid #e5e0d8;
    border-radius: 8px;
    height: 44px;
    width: 100%;
    font-size: 16px;
    transition: all .3s ease;
    
    /* 背景色を「background」ではなく「background-color」で指定（重要） */
    background-color: white !important;

    /* アイコンの設定 */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23A0aec0" stroke-width="2" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: 12px center !important;
    background-size: 20px !important;
    font-size: 13px;

    /* 文字がアイコンに重ならないように左余白を空ける */
    padding: 5px 10px 5px 40px !important;
}

/* もしHTMLにSVGタグが直接書いてあるなら、それを非表示にする */
.wp-travel-toolbar .wpte-trip-search-input svg {
    display: none !important;
}

@media (max-width: 767px) {
    .wpte-toolbar-container {
        border-top: 0 !important;
        border-bottom: 0 !important;
        position: relative !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* アクティブ（選択中）の時の背景色とアイコン色 */
.wte-view-modes ul li[data-mode=list].active {
    background-color: #000000 !important; /* 親のliの背景を黒に */
}

/* グリッドボタン：アクティブ（選択中）の時の背景色 */
.wte-view-modes ul li[data-mode="grid"].active {
    background-color: #000000 !important;
}

/* --- 非アクティブ時（通常時） --- */
.wte-view-modes ul li[data-mode=list] span {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23747474" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"/></svg>');
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    background-color: #ffffff; /* 非アクティブ時は白背景 */
    display: block;
    width: 100%;
    height: 100%;
    transition: all 0.2s ease; /* 切り替えをスムーズにする */
}

/* --- アクティブ時 --- */
.wte-view-modes ul li[data-mode=list].active span {
    /* アイコン色を白 (white) に変更 */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="white" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"/></svg>') !important;
    background-color: #000000 !important; /* アクティブ時は黒背景 */
}

/* --- Grid：非アクティブ時（グレーのアイコン ＋ 白背景） --- */
.wte-view-modes ul li[data-mode="grid"] span {
    /* stroke を %23747474 (#747474) に指定 */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23747474" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25a2.25 2.25 0 0 1-2.25-2.25v-2.25Z"/></svg>');
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    background-color: #ffffff;
    display: block;
    width: 100%;
    height: 100%;
    transition: all 0.2s ease;
}

/* --- Grid：アクティブ時（白いアイコン ＋ 黒背景） --- */
.wte-view-modes ul li[data-mode="grid"].active span {
    /* stroke を white に指定 */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="white" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25a2.25 2.25 0 0 1-2.25-2.25v-2.25Z"/></svg>') !important;
    background-color: #000000 !important;
}

.wte-view-modes ul {
    border: 1px solid rgba(15, 29, 35, .1);
    border-radius: 8px !important;
    background-color: #ffffff;
}

.wte-view-modes ul li {
    background-color: #ffffff;
    overflow: hidden;
    opacity: unset !important;
}

.wte-view-modes ul li.wte-view-mode-selection[data-mode="grid"] {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

.wte-view-modes ul li.wte-view-mode-selection[data-mode="list"] {
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
}