/* ====================
   新レイアウト用 追加CSS（完全版）
   ==================== */

.d_info_text {
    line-height: 1.3;
    margin-bottom: 15px;
    padding-left: 1em;
}

.dolce_wrap .menu_photo {
    height: auto;
}

.pt5 {
    padding-top: 5px;
    display: inline-block;
}

/* 各メニューアイテム（1ブロック） */
.menu_item {
    display: flex;
    flex-direction: column;
}

/* 上部：画像と製品名・価格の横並び */
.menu_top {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
}

/* 製品名・価格エリア */
.menu_name_price {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

/* 商品情報詳細 */
.menu_description {
    font-size: 12px;
    line-height: 1.3;
    color: #333;
    margin-bottom: 8px;
    padding: 8px 0;
}

/* アレルゲン表示 */
.allergen {
    font-size: 11px;
    color: #666;
    line-height: 1.2;
}

.allergen_ingredients,
.allergen_alcohol {
    margin-bottom: 3px;
}

.allergen_ingredients:last-child,
.allergen_alcohol:last-child {
    margin-bottom: 0;
}

/* タブレット表示（768px〜1024px） */
@media screen and (max-width: 1024px) {
    .menu_top {
        margin-bottom: 8px;
    }
    
    .menu_description {
        font-size: 11px;
        padding: 6px 0;
    }
    
    .allergen {
        font-size: 10px;
    }
}

/* スマートフォン表示（767px以下） */
@media screen and (max-width: 767px) {
    /* メニューアイテム全体の調整 */
    .menu_item {
        padding: 12px;
    }
    
    /* 上部レイアウトの調整 */
    .menu_top {
        flex-direction: column;
        margin-bottom: 12px;
    }
    
    /* スマホ版写真サイズ統一 */
    .dolce_wrap .menu_photo{
        width: 100%;
        height: 230px;
        margin-right: 0;
        margin-bottom: 8px;
    }
    
    /* 製品名・価格エリアの調整 */
    .menu_name_price {
        margin-top: 0;
        align-items: flex-start;
    }
    
    /* タイトル部分の調整 */
    .menu_title_wrap {
        padding-right: 10px;
    }
    
    /* 詳細説明の調整 */
    .menu_description {
        font-size: 11px;
        padding: 8px 0;
        margin-bottom: 6px;
    }
    
    /* アレルゲン情報の調整 */
    .allergen {
        font-size: 10px;
        line-height: 1.3;
    }
    
    .allergen_ingredients,
    .allergen_alcohol {
        margin-bottom: 2px;
    }
}

/* 小さいスマートフォン（375px以下） */
@media screen and (max-width: 375px) {
    .menu_item {
        padding: 10px;
    }
    
    .menu_top {
        margin-bottom: 10px;
    }
    
    /* 小さいスマホでも写真サイズ統一 */
    .menu_photo {
        width: 100%;
        height: 230px;
        margin-right: 0;
        margin-bottom: 6px;
    }
    
    .menu_name_price {
        margin-top: 0;
    }
    
    .menu_description {
        font-size: 10px;
        padding: 6px 0;
    }
    
    .allergen {
        font-size: 9px;
    }
}

/* 大きなスクリーン用（1200px以上） */
@media screen and (min-width: 1200px) {
    .menu_description {
        font-size: 13px;
        padding: 10px 0;
    }
    
    .allergen {
        font-size: 12px;
    }
}