/*
 * TabiPark Rakuten Monitor — 公開ショートコード [tabipark_rakuten_search]
 * （人数・部屋数指定検索フォーム）用CSS。
 *
 * v0.7.3：それまでshortcode本文内へ<style>として直接埋め込んでいたが（print_search_styles_once()、
 * 「一度だけ出力」staticフラグ方式）、wp_enqueue_style()によるWordPress標準の読み込み方式へ
 * 変更した。tabipark-rakuten-public.cssに依存し、そのCSSが先に読み込まれる前提で動作する
 * （tp-rm-room-card等の基礎スタイルはtabipark-rakuten-public.css側にある）。
 *
 * デザイン値は旧inline版から一切変更していない。
 */

.tp-rm-search-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 480px;
    background: #fff;
    border: 1px solid #dce7ee;
    border-radius: 10px;
    padding: 18px 20px;
}
.tp-rm-search-row { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tp-rm-search-row label { font-weight: bold; color: #16283d; font-size: 0.95em; }
.tp-rm-search-row select,
.tp-rm-search-row input[type="date"],
.tp-rm-search-row input[type="number"] {
    padding: 8px 10px;
    border: 1px solid #cfd9e0;
    border-radius: 6px;
    font-size: 1em;
    max-width: 100%;
    background: #fff;
    color: #16283d;
}
.tp-rm-search-total {
    font-size: 0.92em;
    color: #1f7ea8;
    font-weight: bold;
    min-height: 1.2em;
}
.tp-rm-search-btn {
    display: inline-block;
    background: #29abe2;
    color: #fff !important;
    border: none;
    border-radius: 6px;
    padding: 12px 18px;
    font-size: 1em;
    font-weight: bold;
    cursor: pointer;
}
.tp-rm-search-btn:hover { background: #1f8fbf; }
.tp-rm-search-btn:disabled { background: #a9c6d4; cursor: not-allowed; }

.tp-rm-search-status { margin: 12px 0; font-size: 0.95em; color: #4a5a68; min-height: 1.3em; }
.tp-rm-search-status--error { color: #a33333; }

.tp-rm-search-result { margin-top: 16px; }
.tp-rm-search-condition {
    background: #eaf6fb;
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 12px;
}
.tp-rm-search-condition h3 { margin: 0 0 6px; color: #16283d; overflow-wrap: break-word; word-break: break-word; }
.tp-rm-search-meta { font-size: 0.92em; color: #3d4f5e; line-height: 1.7; }
.tp-rm-search-found { margin: 4px 0 10px; font-weight: bold; color: #16283d; }

.tp-rm-search-disclaimer { font-size: 0.85em; color: #6b7785; margin: 4px 0 14px; }

.tp-rm-search-hp { position: absolute; left: -9999px; top: -9999px; }

.tp-rm-search-children {
    border: 1px solid #dce7ee;
    border-radius: 8px;
    background: #fff;
}
.tp-rm-search-children-summary {
    cursor: pointer;
    padding: 10px 14px;
    font-weight: bold;
    color: #1f7ea8;
    list-style: none;
}
.tp-rm-search-children-summary::-webkit-details-marker { display: none; }
.tp-rm-search-children-body {
    padding: 4px 14px 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}
.tp-rm-search-child-row { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tp-rm-search-child-row label { font-size: 0.9em; color: #16283d; overflow-wrap: break-word; }
.tp-rm-search-child-row input {
    padding: 6px 8px;
    border: 1px solid #cfd9e0;
    border-radius: 6px;
    max-width: 100%;
    background: #fff;
    color: #16283d;
}

@media (max-width: 480px) {
    .tp-rm-search-form { padding: 14px; }
    .tp-rm-search-children-body { grid-template-columns: 1fr; }
}
