.surfportal_card {
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
}

.surfpoint_title {
    font-size: 1.3rem;
}

.surfportal_card .surfpoint_meta {
    font-size: 12px;
    color: #5d5d5d;
}

.surfpoint_wrap {
    /* display: flex;
    gap: 1rem; */
    margin-bottom: 1rem;
}

.surfportal_card .surfpoint_hours .surfpoint_row,
.surfportal_card .surfpoint_tomorrow .surfpoint_row {
    display: grid;
    grid-template-columns: repeat(6, minmax(90px, 1fr));
    gap: 8px;
}
.surfportal_card .sp-cell {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 8px;
    font-size: 12px;
}
.surfportal_card .sp-notes {
    margin-top: 8px;
}
.surfportal_card .sp-attr {
    margin-top: 8px;
    font-size: 11px;
}

.sp-badge {
    display: inline-block;
    font-weight: 700;
}

.surfpoint_now {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* background-color: var(--sub_color); */
    /* padding: 8px; */
    border-radius: 8px;
}

@media (max-width: 720px) {
    .surfpoint_row {
        display: flex !important;
        overflow-x: auto;
        gap: 8px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    .surfpoint_row .sp-cell {
        flex: 0 0 50%; /* 画面の半分幅（2カラム分） */
        scroll-snap-align: start;
        box-sizing: border-box;
    }
}
