/* =========================
   Reserve Frequency Navi β
========================= */

.hidden{
    display:none !important;
}

.reserve-freq-panel{
    margin:22px 0;
    padding:18px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid #cfe0f5;
}

.reserve-freq-head h2{
    margin:8px 0 8px;
    color:#1f2937;
}

.reserve-freq-head p{
    margin:0 0 12px;
    line-height:1.7;
    color:#4b5563;
}

.reserve-freq-label{
    display:inline-block;
    padding:5px 12px;
    border-radius:999px;
    background:#dbeafe;
    color:#1d4ed8;
    font-weight:bold;
    font-size:13px;
}

.reserve-freq-warning{
    margin:12px 0 16px;
    padding:12px 14px;
    border-radius:12px;
    background:#fff7ed;
    border:1px solid #fdba74;
    color:#7c2d12;
    line-height:1.7;
    font-weight:bold;
}

.reserve-freq-question{
    margin:14px 0;
    padding:14px;
    border-radius:14px;
    background:white;
    border:1px solid #e5e7eb;
}

.reserve-freq-question h3{
    margin:0 0 10px;
    color:#111827;
    font-size:17px;
}

.reserve-freq-options{
    display:grid;
    gap:8px;
}

.reserve-freq-option{
    display:flex;
    gap:10px;
    align-items:flex-start;
    line-height:1.7;
    font-weight:normal;
    cursor:pointer;
}

.reserve-freq-option input{
    width:18px;
    height:18px;
    margin-top:5px;
    accent-color:#2563eb;
}

.reserve-freq-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:14px;
    padding:12px 18px;
    border:none;
    border-radius:999px;
    background:#2563eb;
    color:white;
    font-weight:bold;
    cursor:pointer;
}

.reserve-freq-btn:hover{
    opacity:0.92;
}

.reserve-freq-btn.memo{
    margin-top:0;
    background:#e5e7eb;
    color:#111827;
}

.reserve-freq-btn.memo.active{
    background:#2563eb;
    color:white;
}

.reserve-freq-result{
    margin-top:18px;
    padding:16px;
    border-radius:16px;
    background:#eef6ff;
    border:1px solid #bfdbfe;
}

.reserve-freq-result h3{
    margin:10px 0;
    color:#1e3a8a;
    font-size:22px;
}

.reserve-freq-text{
    line-height:1.8;
    color:#374151;
}

.reserve-freq-candidate-list{
    margin:14px 0;
}

.reserve-freq-candidate-title{
    font-size:13px;
    font-weight:bold;
    color:#4b5563;
    margin-bottom:8px;
}

.reserve-freq-candidate-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
}

.reserve-freq-candidate-card{
    padding:12px;
    border-radius:14px;
    background:white;
    border:1px solid #e5e7eb;
}

.reserve-freq-candidate-card.primary{
    background:#dbeafe;
    border-color:#60a5fa;
}

.reserve-freq-candidate-card b{
    display:block;
    margin-bottom:6px;
    color:#111827;
}

.reserve-freq-candidate-card p{
    margin:0;
    color:#4b5563;
    font-size:13px;
    line-height:1.6;
}

.reserve-freq-block{
    margin-top:14px;
    padding:14px;
    border-radius:14px;
    background:white;
    border:1px solid #e5e7eb;
    line-height:1.8;
}

.reserve-freq-block h3{
    margin:0 0 8px;
    color:#111827;
}

.reserve-freq-consult-block{
    background:#fff7ed;
    border-color:#fdba74;
}

.reserve-freq-consult-block h3{
    color:#9a3412;
}

.reserve-freq-memo-switch{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:8px 0 12px;
}

.reserve-freq-memo{
    margin:0;
    padding:14px;
    border-radius:12px;
    background:#111827;
    color:#f9fafb;
    white-space:pre-wrap;
    line-height:1.7;
    font-size:13px;
    font-family:inherit;
    overflow:auto;
}

@media (max-width:700px){

    .reserve-freq-candidate-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:520px){

    .reserve-freq-panel{
        padding:14px;
    }

    .reserve-freq-btn{
        width:100%;
    }

    .reserve-freq-memo-switch{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .reserve-freq-btn.memo{
        width:100%;
        padding:11px 8px;
    }
}