@charset "UTF-8";

/* =========================================
   Tablet / Small Laptop (max-width: 850px)
   ========================================= */
@media (max-width: 850px) {
    /* コンテナの余白を少し詰める */
    .container {
        padding: 20px 15px;
        width: 95vw;
    }

    /* タイムラインのレイアウトを縦積みに */
    .timeline-layout {
        grid-template-columns: 1fr; /* 1カラムに */
        gap: 30px;
    }
    
    /* 入力フォームをメインコンテンツの上に持ってくる */
    .sidebar {
        order: -1; 
    }
    
    /* サイドバーの追従固定を解除（縦積みだと邪魔になるため） */
    .sticky-form {
        position: static; 
    }

    /* カード内の余白を少し減らす */
    .timeline-item {
        padding: 20px;
        flex-wrap: wrap; /* コンテンツが多い時に崩れないように */
    }

    /* 時間表示の調整 */
    .time-disp {
        font-size: 1rem;
        min-width: 50px;
        margin-right: 15px;
        margin-bottom: 10px; /* スマホでは時間の下に余白 */
    }

    /* アクションボタン（編集・削除）を右下に配置 */
    .act-actions {
        flex-direction: row; /* 横並びにする */
        width: 100%;
        justify-content: flex-end; /* 右寄せ */
        margin-top: 15px;
        margin-left: 0;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
    }

    /* ボタンサイズをタッチしやすい大きさに最適化 */
    .action-btn {
        width: 44px;
        height: 44px;
        font-size: 1rem;
    }
}

/* =========================================
   Mobile (max-width: 600px)
   ========================================= */
@media (max-width: 600px) {
    /* ロゴサイズをスマホ用に縮小 */
    .logo-main {
        font-size: 3rem;
    }
    .logo-ruby {
        font-size: 0.75rem;
    }
    
    /* ヘッダーの余白を詰める */
    .main-header {
        margin-bottom: 30px;
    }
    
    /* タイトル文字サイズ調整 */
    .trip-header h2 {
        font-size: 1.8rem;
    }

    /* カードの余白をさらに詰めて画面を有効活用 */
    .glass-card {
        padding: 20px;
    }

    /* 入力フォームのラベルを見やすく */
    label {
        font-size: 0.9rem;
    }

    /* ボタンを押しやすく */
    .btn-indigo, .btn-cancel {
        padding: 14px;
        font-size: 1rem;
    }
}