/* single-page.css - single.phpの詳細ページ用スタイル */

/* スムーズスクロール */
html {
    scroll-behavior: smooth;
}

/* 詳細セクション */
#details {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* 詳細カード */
.detail-card {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    background: linear-gradient(135deg, #f9f9f9, #f1f1f1);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.detail-card h2 {
    font-size: 1.5em;
    margin-bottom: 15px;
    color: #333;
}

/* 詳細データのレイアウト */
.detail-data {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
}

.detail-data p {
    flex: 1 1 45%;
    margin: 5px 0;
    font-size: 1em;
    color: #555;
}

/* 1カラム強制 */
.detail-data p.full-col {
    flex: 1 1 100%;
}

/* 料金詳細の折りたたみ用スタイル */
.detail-expand .content {
    display: -webkit-box;
    -webkit-line-clamp: 10;
    /* 10行まで表示 */
    line-clamp: 10;
    /* 標準プロパティ */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.detail-expand.expanded .content {
    -webkit-line-clamp: unset;
    /* 展開時は制限なし */
    line-clamp: unset;
    /* 標準プロパティ */
}

.detail-expand .toggle-btn {
    display: inline-block;
    margin-top: 8px;
    color: #007bff;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
    font-size: 0.9em;
}

/* レスポンシブ対応 */
@media (max-width: 600px) {
    .detail-data p {
        flex: 1 1 100%;
    }

    body {
        padding: 5px !important;
    }
}

/* 店舗名タイトル */
.store-name-title {
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #333;
}

/* 周辺ネットカフェセクション */
.nearby-netcafes-section {
    margin-top: 30px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
}

.nearby-title {
    font-size: 1.3em;
    margin-bottom: 15px;
    color: #333;
}

.nearby-posts-list {
    list-style-type: disc;
    padding-left: 20px;
}

.nearby-posts-list li {
    margin-bottom: 8px;
}

/* 地図要素のCLS対策 */
#map {
    min-height: 500px;
    background: #f0f0f0;
}

/* CLS対策: 広告スクリプト等によるスタイル上書きを防止 */
html body main[role="main"] {
    min-height: 600px !important;
    max-height: none !important;
    contain: layout !important;
}

html body #map {
    contain: layout !important;
}